Creating integration-test_federation_1 ... Creating integration-test_gateway_1 ... Creating integration-test_authentication_1 ... Creating integration-test_device_1 ... Creating integration-test_experiment_1 ... Creating integration-test_authorization_1 ... Creating integration-test_device_1 ... done Creating integration-test_experiment_1 ... done Creating integration-test_federation_1 ... done Creating integration-test_gateway_1 ... done Creating integration-test_authentication_1 ... done Creating integration-test_authorization_1 ... done Attaching to integration-test_device_1, integration-test_experiment_1, integration-test_federation_1, integration-test_gateway_1, integration-test_authentication_1, integration-test_authorization_1 device_1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} experiment_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"} 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/ federation_1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} federation_1 | {"level":"info","message":"Federation Service started successfully"} 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/device_service.conf to /etc/nginx/device_service.conf 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/auth_service.conf to /etc/nginx/auth_service.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/federation_service.conf to /etc/nginx/federation_service.conf gateway_1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/api_gateway.conf to /etc/nginx/api_gateway.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/experiment_service.conf to /etc/nginx/experiment_service.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 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-02-20T18:39:41Z"} authentication_1 | {"level":"info","message":"Authentication Service started successfully"} authorization_1 | {"client_addr":"127.0.0.1:43024","level":"info","msg":"Received request.","req_id":1,"req_method":"GET","req_path":"/","subsystem":"opa","time":"2024-02-20T18:39:41Z"} authorization_1 | {"client_addr":"127.0.0.1:43024","level":"info","msg":"Sent response.","req_id":1,"req_method":"GET","req_path":"/","resp_bytes":1424,"resp_duration":0.310236,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:39:41Z"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"๐Ÿงช experimental features enabled: []","subsystem":"openfga","timestamp":1708454381.890987} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"using 'memory' storage engine","subsystem":"openfga","timestamp":1708454381.8910618} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"warn","message":"authentication is disabled","subsystem":"openfga","timestamp":1708454381.8910785} 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":1708454381.8910975} 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":1708454381.8911142} 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":1708454381.8911498,"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":1708454381.891822} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"HTTP server listening on 'localhost:3013'...","subsystem":"openfga","timestamp":1708454381.8932471} 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:48978","raw_request":{"name":"crosslab"},"raw_response":{"created_at":"2024-02-20T18:39:41.910662917Z","id":"01HQ3X22APRQ28T8X8Z2RSWX7E","name":"crosslab","updated_at":"2024-02-20T18:39:41.910662917Z"},"request_id":"c061c38f-0be8-42f5-b4b6-73a942453678","subsystem":"openfga","timestamp":1708454381.9107459} 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:48978","raw_request":{"schema_version":"1.1","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_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":"01HQ3X22BY0D7KY0JHV6HX01S8"},"request_id":"a83ce747-f46d-4f9f-bfe1-3d11f54486fe","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454381.9500887} authorization_1 | {"client_addr":"127.0.0.1:43024","level":"info","msg":"Received request.","req_id":2,"req_method":"PUT","req_path":"/v1/data/jwt_secret","subsystem":"opa","time":"2024-02-20T18:39:41Z"} authorization_1 | {"client_addr":"127.0.0.1:43024","level":"info","msg":"Sent response.","req_id":2,"req_method":"PUT","req_path":"/v1/data/jwt_secret","resp_bytes":0,"resp_duration":0.188333,"resp_status":204,"subsystem":"opa","time":"2024-02-20T18:39:41Z"} authorization_1 | {"level":"info","message":"Authorization Service started successfully"} authorization_1 | {"current_version":"0.54.0","download_opa":"https://openpolicyagent.org/downloads/v0.61.0/opa_linux_amd64","latest_version":"0.61.0","level":"info","msg":"OPA is out of date.","release_notes":"https://github.com/open-policy-agent/opa/releases/tag/v0.61.0","subsystem":"opa","time":"2024-02-20T18:39:42Z"} gateway_1 | {"time_local":"20/Feb/2024:18:40:10 +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.021","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"7d8da497d56eb1474218d79f4ce5ef7d"} authentication_1 | {"level":"info","message":"HEAD /auth/status 200 10ms","method":"HEAD","requestID":"7d8da497d56eb1474218d79f4ce5ef7d","responseTime":10,"status":200,"url":"/auth/status"} gateway_1 | {"time_local":"20/Feb/2024:18:40:10 +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.045","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"bd648fe17e0ed7ea6c9e0c9148165e69"} device_1 | {"level":"info","message":"HEAD /device/status 200 17ms","method":"HEAD","requestID":"7a4b41a0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":17,"status":200,"url":"/device/status"} gateway_1 | {"time_local":"20/Feb/2024:18:40:10 +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.010","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"975c59477741b2028b2588aa8e84f27f"} authorization_1 | {"level":"info","message":"HEAD /authorization/status 200 4ms","meta":{"req":{"headers":{"accept":"*/*","connection":"close","host":"authorization_service","user-agent":"curl/7.81.0","x-request-id":"975c59477741b2028b2588aa8e84f27f"},"httpVersion":"1.0","method":"HEAD","originalUrl":"/authorization/status","query":{},"url":"/authorization/status"},"res":{"statusCode":200},"responseTime":4}} gateway_1 | {"time_local":"20/Feb/2024:18:40:10 +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.016","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"f6363256669bdce45e25c7a401dec80d"} federation_1 | {"level":"info","message":"HEAD /federation/status 200 9ms","method":"HEAD","requestID":"7a526d90-d01f-11ee-8666-5b8f929f6100","responseTime":9,"status":200,"url":"/federation/status"} gateway_1 | {"time_local":"20/Feb/2024:18:40:11 +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.018","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"c46cbc4f81e546fb526bc0e1540aa727"} experiment_1 | {"level":"info","message":"HEAD /experiment/status 200 9ms","method":"HEAD","requestID":"7a55c8f0-d01f-11ee-83bd-3d3cbcadd4a8","responseTime":10,"status":200,"url":"/experiment/status"} authentication_1 | {"level":"info","message":"POST /login 201 90ms","method":"POST","requestID":"16dcbde53c45a19d622748303c124ea1","responseTime":90,"status":201,"url":"/login"} gateway_1 | {"time_local":"20/Feb/2024:18:40:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /login HTTP/1.1","status": "201","body_bytes_sent":"88","request_time":"0.112","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"16dcbde53c45a19d622748303c124ea1"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQxNH0.777Sh--YWVJj20_hCkH_4hBT2oPGtfwaY5fbftObtLE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 149ms","method":"GET","requestID":"a921b2ff82d87b7844ee4ebeef469fff","responseTime":149,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:41400","level":"info","msg":"Received request.","req_id":3,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:40:14Z"} authorization_1 | {"client_addr":"127.0.0.1:41400","level":"info","msg":"Sent response.","req_id":3,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.548623,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:40:14Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454414,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQxNH0.777Sh--YWVJj20_hCkH_4hBT2oPGtfwaY5fbftObtLE"} authorization_1 | {"level":"info","message":"POST /authorize 200 22ms","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":"a921b2ff82d87b7844ee4ebeef469fff"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F327e10c6-34ca-4e04-8bdd-de1ca2648563","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"9b7ff4ac-1c43-4981-bd6e-0939f3af1bf5","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454414.7497816} 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":"a921b2ff82d87b7844ee4ebeef469fff"},"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":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"053b6f45-1dbe-49e6-bd7c-d125984603cc","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454414.7707396} 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":"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":"a921b2ff82d87b7844ee4ebeef469fff"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":11}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F327e10c6-34ca-4e04-8bdd-de1ca2648563","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"1db23e6e-6a5d-4300-9b3e-8e9d9fd12faa","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454414.8966396} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ce6f3472-7927-4f94-8a61-5fdc485b12f2","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454414.897812} authorization_1 | {"level":"info","message":"POST /relations/update 200 131ms","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":"a921b2ff82d87b7844ee4ebeef469fff"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":131}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F327e10c6-34ca-4e04-8bdd-de1ca2648563","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F327e10c6-34ca-4e04-8bdd-de1ca2648563","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:40:14.896613984Z"}]},"request_id":"2c8f79bc-2b49-4ba7-885b-09047c6ff240","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454414.9089024} 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":"a921b2ff82d87b7844ee4ebeef469fff"},"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 408ms","method":"POST","requestID":"a921b2ff82d87b7844ee4ebeef469fff","responseTime":408,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"20/Feb/2024:18:40:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.586","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a921b2ff82d87b7844ee4ebeef469fff"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQxNH0.777Sh--YWVJj20_hCkH_4hBT2oPGtfwaY5fbftObtLE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"882f9605283475fe09d4ff9209750d15","responseTime":6,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:41400","level":"info","msg":"Received request.","req_id":4,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:40:14Z"} authorization_1 | {"client_addr":"127.0.0.1:41400","level":"info","msg":"Sent response.","req_id":4,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.884406,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:40:14Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454414,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQxNH0.777Sh--YWVJj20_hCkH_4hBT2oPGtfwaY5fbftObtLE"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"882f9605283475fe09d4ff9209750d15"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F23732c4c-c776-4a6a-916f-a02b91bd9ef4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"f2ed9ba9-3462-4c09-94d0-f470af4efa76","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454415.073859} 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":"882f9605283475fe09d4ff9209750d15"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"07657f90-16d1-4bac-82f5-e8eb1cad64ad","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454415.087731} 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":"882f9605283475fe09d4ff9209750d15"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F23732c4c-c776-4a6a-916f-a02b91bd9ef4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"20592b0e-e4b3-4bdf-b817-0f5d79cf5eb9","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454415.1967454} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"862aaa48-bc78-4fa8-8b82-c8be3cbab356","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454415.19699} authorization_1 | {"level":"info","message":"POST /relations/update 200 113ms","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":"882f9605283475fe09d4ff9209750d15"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":113}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F23732c4c-c776-4a6a-916f-a02b91bd9ef4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F23732c4c-c776-4a6a-916f-a02b91bd9ef4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:40:15.196725100Z"}]},"request_id":"ba3f7941-df44-4329-be33-51e52b56bc6e","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454415.208954} 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":"882f9605283475fe09d4ff9209750d15"},"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 263ms","method":"POST","requestID":"882f9605283475fe09d4ff9209750d15","responseTime":263,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"20/Feb/2024:18:40:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.307","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"882f9605283475fe09d4ff9209750d15"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"1396be5b1152cfb9ee37c79f58f2d29b","responseTime":3,"status":200,"url":"/auth"} gateway_1 | {"time_local":"20/Feb/2024:18:40:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/23732c4c-c776-4a6a-916f-a02b91bd9ef4/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":"1396be5b1152cfb9ee37c79f58f2d29b"} device_1 | {"level":"info","message":"OPTIONS /devices/23732c4c-c776-4a6a-916f-a02b91bd9ef4/websocket 200 3ms","method":"OPTIONS","requestID":"1396be5b1152cfb9ee37c79f58f2d29b","responseTime":3,"status":200,"url":"/devices/23732c4c-c776-4a6a-916f-a02b91bd9ef4/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ1Nn0.Z1bbQFJNRCQWfgJmZCe_nyEYdimB9M_wvPaJuHFKCho","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"b4a31c6957e99be5dca828be8c299f9e","responseTime":6,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":5,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:40:56Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":5,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.44484,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:40:56Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/23732c4c-c776-4a6a-916f-a02b91bd9ef4","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/23732c4c-c776-4a6a-916f-a02b91bd9ef4","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454456,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ1Nn0.Z1bbQFJNRCQWfgJmZCe_nyEYdimB9M_wvPaJuHFKCho"} 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":"b4a31c6957e99be5dca828be8c299f9e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"20/Feb/2024:18:40:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/23732c4c-c776-4a6a-916f-a02b91bd9ef4/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.287","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"b4a31c6957e99be5dca828be8c299f9e"} device_1 | {"level":"info","message":"POST /devices/23732c4c-c776-4a6a-916f-a02b91bd9ef4/websocket 200 277ms","method":"POST","requestID":"b4a31c6957e99be5dca828be8c299f9e","responseTime":277,"status":200,"url":"/devices/23732c4c-c776-4a6a-916f-a02b91bd9ef4/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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"4d8bc4667bcd3018efada7bd0bb11093","responseTime":2,"status":200,"url":"/auth"} gateway_1 | {"time_local":"20/Feb/2024:18:40:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/327e10c6-34ca-4e04-8bdd-de1ca2648563/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":"4d8bc4667bcd3018efada7bd0bb11093"} device_1 | {"level":"info","message":"OPTIONS /devices/327e10c6-34ca-4e04-8bdd-de1ca2648563/websocket 200 1ms","method":"OPTIONS","requestID":"4d8bc4667bcd3018efada7bd0bb11093","responseTime":1,"status":200,"url":"/devices/327e10c6-34ca-4e04-8bdd-de1ca2648563/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ1Nn0.Z1bbQFJNRCQWfgJmZCe_nyEYdimB9M_wvPaJuHFKCho","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"0a6afe0bbf381aa202ae66390c3db702","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":6,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:40:56Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":6,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.169524,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:40:56Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/327e10c6-34ca-4e04-8bdd-de1ca2648563","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/327e10c6-34ca-4e04-8bdd-de1ca2648563","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454456,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ1Nn0.Z1bbQFJNRCQWfgJmZCe_nyEYdimB9M_wvPaJuHFKCho"} 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":"0a6afe0bbf381aa202ae66390c3db702"},"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":"20/Feb/2024:18:40:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/327e10c6-34ca-4e04-8bdd-de1ca2648563/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.237","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"0a6afe0bbf381aa202ae66390c3db702"} device_1 | {"level":"info","message":"POST /devices/327e10c6-34ca-4e04-8bdd-de1ca2648563/websocket 200 229ms","method":"POST","requestID":"0a6afe0bbf381aa202ae66390c3db702","responseTime":230,"status":200,"url":"/devices/327e10c6-34ca-4e04-8bdd-de1ca2648563/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/23732c4c-c776-4a6a-916f-a02b91bd9ef4' connected"} device_1 | {"level":"info","message":"device 'http://localhost/devices/327e10c6-34ca-4e04-8bdd-de1ca2648563' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ1N30.w06vMXPmxSFLo1CIaXcHJMXzOBl71l3djpWQ61Ww0VE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"c76aa07013a96706e32ecbf3ee7e5685","responseTime":7,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":7,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:40:57Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":7,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.271898,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:40:57Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/327e10c6-34ca-4e04-8bdd-de1ca2648563","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/327e10c6-34ca-4e04-8bdd-de1ca2648563","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454457,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ1N30.w06vMXPmxSFLo1CIaXcHJMXzOBl71l3djpWQ61Ww0VE"} 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":"c76aa07013a96706e32ecbf3ee7e5685"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F327e10c6-34ca-4e04-8bdd-de1ca2648563","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F327e10c6-34ca-4e04-8bdd-de1ca2648563","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:40:14.896613984Z"}]},"request_id":"08b0953e-aaf5-4298-90f2-fb0ac1dea259","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454457.480569} 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":"c76aa07013a96706e32ecbf3ee7e5685"},"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":"20/Feb/2024:18:40:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/327e10c6-34ca-4e04-8bdd-de1ca2648563? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.042","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c76aa07013a96706e32ecbf3ee7e5685"} device_1 | {"level":"info","message":"GET /devices/327e10c6-34ca-4e04-8bdd-de1ca2648563? 200 32ms","method":"GET","requestID":"c76aa07013a96706e32ecbf3ee7e5685","responseTime":32,"status":200,"url":"/devices/327e10c6-34ca-4e04-8bdd-de1ca2648563?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ1N30.w06vMXPmxSFLo1CIaXcHJMXzOBl71l3djpWQ61Ww0VE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"0b73b9e76ee8bcffa58661342a159863","responseTime":7,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":8,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:40:57Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":8,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.0366,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:40:57Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/23732c4c-c776-4a6a-916f-a02b91bd9ef4","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/23732c4c-c776-4a6a-916f-a02b91bd9ef4","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454457,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ1N30.w06vMXPmxSFLo1CIaXcHJMXzOBl71l3djpWQ61Ww0VE"} 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":"0b73b9e76ee8bcffa58661342a159863"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F23732c4c-c776-4a6a-916f-a02b91bd9ef4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F23732c4c-c776-4a6a-916f-a02b91bd9ef4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:40:15.196725100Z"}]},"request_id":"765b49d7-cb61-4452-94c7-ab0add17b880","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454457.5230849} 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":"0b73b9e76ee8bcffa58661342a159863"},"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":"20/Feb/2024:18:40:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/23732c4c-c776-4a6a-916f-a02b91bd9ef4? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.033","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0b73b9e76ee8bcffa58661342a159863"} device_1 | {"level":"info","message":"GET /devices/23732c4c-c776-4a6a-916f-a02b91bd9ef4? 200 25ms","method":"GET","requestID":"0b73b9e76ee8bcffa58661342a159863","responseTime":25,"status":200,"url":"/devices/23732c4c-c776-4a6a-916f-a02b91bd9ef4?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ1N30.w06vMXPmxSFLo1CIaXcHJMXzOBl71l3djpWQ61Ww0VE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"afd618fc6869d0866fe1fa5edb6b3a70","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:48424","level":"info","msg":"Received request.","req_id":9,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:40:57Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":9,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.761313,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:40:57Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454457,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ1N30.w06vMXPmxSFLo1CIaXcHJMXzOBl71l3djpWQ61Ww0VE"} 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":"afd618fc6869d0866fe1fa5edb6b3a70"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/050b688f-4646-45b0-94f5-cc37c6a3d013"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/050b688f-4646-45b0-94f5-cc37c6a3d013"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/050b688f-4646-45b0-94f5-cc37c6a3d013"},"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:48424","level":"info","msg":"Received request.","req_id":10,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:40:57Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":10,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.59699,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:40:57Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/327e10c6-34ca-4e04-8bdd-de1ca2648563","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/327e10c6-34ca-4e04-8bdd-de1ca2648563","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454457,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ1N30.w06vMXPmxSFLo1CIaXcHJMXzOBl71l3djpWQ61Ww0VE"} 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":"9652b3b0-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} authorization_1 | {"client_addr":"127.0.0.1:48440","level":"info","msg":"Received request.","req_id":11,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:40:57Z"} authorization_1 | {"client_addr":"127.0.0.1:48440","level":"info","msg":"Sent response.","req_id":11,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.883148,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:40:57Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/23732c4c-c776-4a6a-916f-a02b91bd9ef4","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/23732c4c-c776-4a6a-916f-a02b91bd9ef4","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454457,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ1N30.w06vMXPmxSFLo1CIaXcHJMXzOBl71l3djpWQ61Ww0VE"} 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":"96534ff0-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F327e10c6-34ca-4e04-8bdd-de1ca2648563","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F327e10c6-34ca-4e04-8bdd-de1ca2648563","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:40:14.896613984Z"}]},"request_id":"c32a8922-f9bc-409a-97f2-2c6bcfe02f2d","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454457.987703} 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":"9652b3b0-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F23732c4c-c776-4a6a-916f-a02b91bd9ef4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F23732c4c-c776-4a6a-916f-a02b91bd9ef4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:40:15.196725100Z"}]},"request_id":"42fc600f-9b77-4a0a-afa8-f8dd4d5af2e2","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454457.9889166} 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":"96534ff0-d01f-11ee-ad1d-cbf3af4d0136"},"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/327e10c6-34ca-4e04-8bdd-de1ca2648563? 200 35ms","method":"GET","requestID":"9652b3b0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":35,"status":200,"url":"/devices/327e10c6-34ca-4e04-8bdd-de1ca2648563?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/23732c4c-c776-4a6a-916f-a02b91bd9ef4? 200 32ms","method":"GET","requestID":"96534ff0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":32,"status":200,"url":"/devices/23732c4c-c776-4a6a-916f-a02b91bd9ef4?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/050b688f-4646-45b0-94f5-cc37c6a3d013"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/050b688f-4646-45b0-94f5-cc37c6a3d013"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/050b688f-4646-45b0-94f5-cc37c6a3d013"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/050b688f-4646-45b0-94f5-cc37c6a3d013"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/050b688f-4646-45b0-94f5-cc37c6a3d013"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/050b688f-4646-45b0-94f5-cc37c6a3d013"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/050b688f-4646-45b0-94f5-cc37c6a3d013"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/050b688f-4646-45b0-94f5-cc37c6a3d013"},"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/050b688f-4646-45b0-94f5-cc37c6a3d013"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":12,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:40:58Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":12,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.607735,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:40:58Z"} authorization_1 | {"client_addr":"127.0.0.1:48440","level":"info","msg":"Received request.","req_id":13,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:40:58Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/327e10c6-34ca-4e04-8bdd-de1ca2648563","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/327e10c6-34ca-4e04-8bdd-de1ca2648563","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454457,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ1N30.w06vMXPmxSFLo1CIaXcHJMXzOBl71l3djpWQ61Ww0VE"} 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":"96a121d0-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"client_addr":"127.0.0.1:48440","level":"info","msg":"Sent response.","req_id":13,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.879691,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:40:58Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/23732c4c-c776-4a6a-916f-a02b91bd9ef4","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/23732c4c-c776-4a6a-916f-a02b91bd9ef4","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454457,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ1N30.w06vMXPmxSFLo1CIaXcHJMXzOBl71l3djpWQ61Ww0VE"} 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":"96a19700-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F327e10c6-34ca-4e04-8bdd-de1ca2648563","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F327e10c6-34ca-4e04-8bdd-de1ca2648563","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:40:14.896613984Z"}]},"request_id":"a63dc953-ef79-465b-bc36-4f6cb52d8388","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454458.4964707} 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":"96a121d0-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F23732c4c-c776-4a6a-916f-a02b91bd9ef4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F23732c4c-c776-4a6a-916f-a02b91bd9ef4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:40:15.196725100Z"}]},"request_id":"ef8bc21e-0abe-4667-85f7-12c35bcf2f36","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454458.497781} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"96a19700-d01f-11ee-ad1d-cbf3af4d0136"},"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/327e10c6-34ca-4e04-8bdd-de1ca2648563? 200 29ms","method":"GET","requestID":"96a121d0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":29,"status":200,"url":"/devices/327e10c6-34ca-4e04-8bdd-de1ca2648563?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/23732c4c-c776-4a6a-916f-a02b91bd9ef4? 200 27ms","method":"GET","requestID":"96a19700-d01f-11ee-ad1d-cbf3af4d0136","responseTime":27,"status":200,"url":"/devices/23732c4c-c776-4a6a-916f-a02b91bd9ef4?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":14,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:40:58Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":14,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.798567,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:40:58Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/327e10c6-34ca-4e04-8bdd-de1ca2648563","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/327e10c6-34ca-4e04-8bdd-de1ca2648563","object_type":"device","rebac_allow":false,"scope_allow":false,"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":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"96a73c50-d01f-11ee-ad1d-cbf3af4d0136"},"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/327e10c6-34ca-4e04-8bdd-de1ca2648563/signaling 200 15ms","method":"POST","requestID":"96a73c50-d01f-11ee-ad1d-cbf3af4d0136","responseTime":15,"status":200,"url":"/devices/327e10c6-34ca-4e04-8bdd-de1ca2648563/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":15,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:40:58Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":15,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.893691,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:40:58Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/23732c4c-c776-4a6a-916f-a02b91bd9ef4","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/23732c4c-c776-4a6a-916f-a02b91bd9ef4","object_type":"device","rebac_allow":false,"scope_allow":false,"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":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"96aa70a0-d01f-11ee-ad1d-cbf3af4d0136"},"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/23732c4c-c776-4a6a-916f-a02b91bd9ef4/signaling 200 13ms","method":"POST","requestID":"96aa70a0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":13,"status":200,"url":"/devices/23732c4c-c776-4a6a-916f-a02b91bd9ef4/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/050b688f-4646-45b0-94f5-cc37c6a3d013"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/050b688f-4646-45b0-94f5-cc37c6a3d013"},"level":"info","message":"Building connection plan"} experiment_1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"398cdf97-da6a-4c1c-86f8-67d8aecdf452"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"3f2c4b7b-637f-4339-85b5-b0edc7bfa6ba"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"404783c1-8734-4fc1-879d-c4ddef00a246"}]},"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/23732c4c-c776-4a6a-916f-a02b91bd9ef4"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/327e10c6-34ca-4e04-8bdd-de1ca2648563"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":16,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:40:58Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":16,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.812744,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:40:58Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454457,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ1N30.w06vMXPmxSFLo1CIaXcHJMXzOBl71l3djpWQ61Ww0VE"} 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":"96ada4f0-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F050b688f-4646-45b0-94f5-cc37c6a3d013#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F050b688f-4646-45b0-94f5-cc37c6a3d013","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"2ac4003e-b69c-4f9f-a199-b60002aa2045","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454458.6715815} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2cb3b171-c656-485e-984b-ec4a193cd907","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454458.6721885} authorization_1 | {"level":"info","message":"POST /relations/update 200 188ms","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":"afd618fc6869d0866fe1fa5edb6b3a70"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":188}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/050b688f-4646-45b0-94f5-cc37c6a3d013","user":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 1131ms","method":"POST","requestID":"afd618fc6869d0866fe1fa5edb6b3a70","responseTime":1131,"status":201,"url":"/experiments?"} gateway_1 | {"time_local":"20/Feb/2024:18:40:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"1.160","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"afd618fc6869d0866fe1fa5edb6b3a70"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ1OH0.3XVLNprjImu5YNjb9UbtmyWIEz6RnGlLY1kIpvwA2tk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7052670cad7fa0854a82806095df4ac6","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":17,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:40:58Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":17,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.028369,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:40:58Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/327e10c6-34ca-4e04-8bdd-de1ca2648563","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/327e10c6-34ca-4e04-8bdd-de1ca2648563","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454458,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ1OH0.3XVLNprjImu5YNjb9UbtmyWIEz6RnGlLY1kIpvwA2tk"} 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":"7052670cad7fa0854a82806095df4ac6"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F327e10c6-34ca-4e04-8bdd-de1ca2648563","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F327e10c6-34ca-4e04-8bdd-de1ca2648563","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:40:14.896613984Z"}]},"request_id":"395b8457-61d6-43ad-a8e9-03b534f8a8b1","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454458.7182162} 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":"7052670cad7fa0854a82806095df4ac6"},"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":"20/Feb/2024:18:40:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/327e10c6-34ca-4e04-8bdd-de1ca2648563? 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":"7052670cad7fa0854a82806095df4ac6"} device_1 | {"level":"info","message":"GET /devices/327e10c6-34ca-4e04-8bdd-de1ca2648563? 200 19ms","method":"GET","requestID":"7052670cad7fa0854a82806095df4ac6","responseTime":19,"status":200,"url":"/devices/327e10c6-34ca-4e04-8bdd-de1ca2648563?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ1OH0.3XVLNprjImu5YNjb9UbtmyWIEz6RnGlLY1kIpvwA2tk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"9f7b42c42b5d99f8e45e5d9745227e62","responseTime":6,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":18,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:40:58Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":18,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.211961,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:40:58Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/23732c4c-c776-4a6a-916f-a02b91bd9ef4","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/23732c4c-c776-4a6a-916f-a02b91bd9ef4","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454458,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ1OH0.3XVLNprjImu5YNjb9UbtmyWIEz6RnGlLY1kIpvwA2tk"} 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":"9f7b42c42b5d99f8e45e5d9745227e62"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F23732c4c-c776-4a6a-916f-a02b91bd9ef4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F23732c4c-c776-4a6a-916f-a02b91bd9ef4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:40:15.196725100Z"}]},"request_id":"6c7b942f-2242-4a42-b852-896d69d2d5b5","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454458.7493937} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9f7b42c42b5d99f8e45e5d9745227e62"},"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":"20/Feb/2024:18:40:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/23732c4c-c776-4a6a-916f-a02b91bd9ef4? 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":"9f7b42c42b5d99f8e45e5d9745227e62"} device_1 | {"level":"info","message":"GET /devices/23732c4c-c776-4a6a-916f-a02b91bd9ef4? 200 20ms","method":"GET","requestID":"9f7b42c42b5d99f8e45e5d9745227e62","responseTime":20,"status":200,"url":"/devices/23732c4c-c776-4a6a-916f-a02b91bd9ef4?"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","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%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"dff87089-5f6d-4a0f-b692-9b17968def1b","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454458.8122633} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"23d5e333-2b8e-4544-a1b0-28c4773375e6","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454458.812414} authorization_1 | {"level":"info","message":"POST /relations/update 200 240ms","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":"96ada4f0-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":240}} 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/f6eec282-7782-43b3-9f69-8f554fdedbbc'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/f6eec282-7782-43b3-9f69-8f554fdedbbc'"} 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 377ms","method":"POST","requestID":"96ada4f0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":377,"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/050b688f-4646-45b0-94f5-cc37c6a3d013"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/f6eec282-7782-43b3-9f69-8f554fdedbbc' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"f6eec282-7782-43b3-9f69-8f554fdedbbc","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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5667097207c2b7c33931e4fd5e934040","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/23732c4c-c776-4a6a-916f-a02b91bd9ef4"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/327e10c6-34ca-4e04-8bdd-de1ca2648563"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/f6eec282-7782-43b3-9f69-8f554fdedbbc"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 16ms","method":"POST","requestID":"5667097207c2b7c33931e4fd5e934040","responseTime":16,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:40:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch","requestID":"5667097207c2b7c33931e4fd5e934040"} device_1 | {"data":{"peerconnection":"f6eec282-7782-43b3-9f69-8f554fdedbbc","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ2MH0.taPVyWezU4aBQraAU9hhl4qCqZhcla8sC69i8CEn1CY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 8ms","method":"GET","requestID":"c10c09ca2805f6e5a273a554c0318bf9","responseTime":8,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/050b688f-4646-45b0-94f5-cc37c6a3d013"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":19,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:00Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":19,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.736508,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:00Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/050b688f-4646-45b0-94f5-cc37c6a3d013","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/050b688f-4646-45b0-94f5-cc37c6a3d013","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454460,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ2MH0.taPVyWezU4aBQraAU9hhl4qCqZhcla8sC69i8CEn1CY"} 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":"c10c09ca2805f6e5a273a554c0318bf9"},"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/050b688f-4646-45b0-94f5-cc37c6a3d013"} gateway_1 | {"time_local":"20/Feb/2024:18:41:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/050b688f-4646-45b0-94f5-cc37c6a3d013 HTTP/1.1","status": "200","body_bytes_sent":"878","request_time":"0.034","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c10c09ca2805f6e5a273a554c0318bf9"} experiment_1 | {"level":"info","message":"GET /experiments/050b688f-4646-45b0-94f5-cc37c6a3d013 200 23ms","method":"GET","requestID":"c10c09ca2805f6e5a273a554c0318bf9","responseTime":23,"status":200,"url":"/experiments/050b688f-4646-45b0-94f5-cc37c6a3d013"} device_1 | {"data":{"peerconnection":"f6eec282-7782-43b3-9f69-8f554fdedbbc","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ2MH0.taPVyWezU4aBQraAU9hhl4qCqZhcla8sC69i8CEn1CY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"4e681152114f2fd786dca71824df475a","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/050b688f-4646-45b0-94f5-cc37c6a3d013"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":20,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:00Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":20,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.315755,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:00Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/050b688f-4646-45b0-94f5-cc37c6a3d013","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/050b688f-4646-45b0-94f5-cc37c6a3d013","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454460,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ2MH0.taPVyWezU4aBQraAU9hhl4qCqZhcla8sC69i8CEn1CY"} 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":"4e681152114f2fd786dca71824df475a"},"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/050b688f-4646-45b0-94f5-cc37c6a3d013"} gateway_1 | {"time_local":"20/Feb/2024:18:41:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/050b688f-4646-45b0-94f5-cc37c6a3d013 HTTP/1.1","status": "200","body_bytes_sent":"878","request_time":"0.031","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4e681152114f2fd786dca71824df475a"} experiment_1 | {"level":"info","message":"GET /experiments/050b688f-4646-45b0-94f5-cc37c6a3d013 200 24ms","method":"GET","requestID":"4e681152114f2fd786dca71824df475a","responseTime":24,"status":200,"url":"/experiments/050b688f-4646-45b0-94f5-cc37c6a3d013"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/f6eec282-7782-43b3-9f69-8f554fdedbbc' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"f6eec282-7782-43b3-9f69-8f554fdedbbc","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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"0706489df18ec7a97c09d8b554784a6f","responseTime":2,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/23732c4c-c776-4a6a-916f-a02b91bd9ef4"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/327e10c6-34ca-4e04-8bdd-de1ca2648563"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/f6eec282-7782-43b3-9f69-8f554fdedbbc"}}},"level":"info","message":"received a callback"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ2MH0.taPVyWezU4aBQraAU9hhl4qCqZhcla8sC69i8CEn1CY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"4a892aa4dfdc9319e2d753395cb67714","responseTime":6,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/050b688f-4646-45b0-94f5-cc37c6a3d013"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":21,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:00Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":21,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.91579,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:00Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/050b688f-4646-45b0-94f5-cc37c6a3d013","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/050b688f-4646-45b0-94f5-cc37c6a3d013","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454460,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ2MH0.taPVyWezU4aBQraAU9hhl4qCqZhcla8sC69i8CEn1CY"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId 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":"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":"4a892aa4dfdc9319e2d753395cb67714"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":22,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:00Z"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","contextual_tuples":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff6eec282-7782-43b3-9f69-8f554fdedbbc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fa357a0a-d0c6-4afd-ad6e-b297f186b8f2","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454460.5568016} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":22,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":4.705894,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:00Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f6eec282-7782-43b3-9f69-8f554fdedbbc","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/f6eec282-7782-43b3-9f69-8f554fdedbbc","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"97dd2440-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/050b688f-4646-45b0-94f5-cc37c6a3d013"} gateway_1 | {"time_local":"20/Feb/2024:18:41:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/050b688f-4646-45b0-94f5-cc37c6a3d013 HTTP/1.1","status": "200","body_bytes_sent":"878","request_time":"0.028","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4a892aa4dfdc9319e2d753395cb67714"} experiment_1 | {"level":"info","message":"GET /experiments/050b688f-4646-45b0-94f5-cc37c6a3d013 200 20ms","method":"GET","requestID":"4a892aa4dfdc9319e2d753395cb67714","responseTime":20,"status":200,"url":"/experiments/050b688f-4646-45b0-94f5-cc37c6a3d013"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ2MH0.taPVyWezU4aBQraAU9hhl4qCqZhcla8sC69i8CEn1CY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"45d5e0d2248e9598452fe40ae1cfa720","responseTime":7,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/050b688f-4646-45b0-94f5-cc37c6a3d013"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":23,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:00Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":23,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.470142,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:00Z"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/050b688f-4646-45b0-94f5-cc37c6a3d013","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/050b688f-4646-45b0-94f5-cc37c6a3d013","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454460,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ2MH0.taPVyWezU4aBQraAU9hhl4qCqZhcla8sC69i8CEn1CY"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"45d5e0d2248e9598452fe40ae1cfa720"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device_1 | {"level":"info","message":"GET /peerconnections/f6eec282-7782-43b3-9f69-8f554fdedbbc 200 137ms","method":"GET","requestID":"97dd2440-d01f-11ee-ad1d-cbf3af4d0136","responseTime":137,"status":200,"url":"/peerconnections/f6eec282-7782-43b3-9f69-8f554fdedbbc"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/050b688f-4646-45b0-94f5-cc37c6a3d013"} gateway_1 | {"time_local":"20/Feb/2024:18:41:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/050b688f-4646-45b0-94f5-cc37c6a3d013 HTTP/1.1","status": "200","body_bytes_sent":"878","request_time":"0.038","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"45d5e0d2248e9598452fe40ae1cfa720"} experiment_1 | {"level":"info","message":"GET /experiments/050b688f-4646-45b0-94f5-cc37c6a3d013 200 29ms","method":"GET","requestID":"45d5e0d2248e9598452fe40ae1cfa720","responseTime":29,"status":200,"url":"/experiments/050b688f-4646-45b0-94f5-cc37c6a3d013"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ2MH0.taPVyWezU4aBQraAU9hhl4qCqZhcla8sC69i8CEn1CY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a8c051b9e5ddd221a0f20fe73e91fd7e","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/050b688f-4646-45b0-94f5-cc37c6a3d013"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":24,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:00Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":24,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.336256,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:00Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/050b688f-4646-45b0-94f5-cc37c6a3d013","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/050b688f-4646-45b0-94f5-cc37c6a3d013","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454460,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ2MH0.taPVyWezU4aBQraAU9hhl4qCqZhcla8sC69i8CEn1CY"} 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":"a8c051b9e5ddd221a0f20fe73e91fd7e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 296ms","method":"POST","requestID":"0706489df18ec7a97c09d8b554784a6f","responseTime":296,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:41: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.301","http_referrer":"","http_user_agent":"node-fetch","requestID":"0706489df18ec7a97c09d8b554784a6f"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/050b688f-4646-45b0-94f5-cc37c6a3d013"} gateway_1 | {"time_local":"20/Feb/2024:18:41:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/050b688f-4646-45b0-94f5-cc37c6a3d013 HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.029","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a8c051b9e5ddd221a0f20fe73e91fd7e"} experiment_1 | {"level":"info","message":"GET /experiments/050b688f-4646-45b0-94f5-cc37c6a3d013 200 22ms","method":"GET","requestID":"a8c051b9e5ddd221a0f20fe73e91fd7e","responseTime":22,"status":200,"url":"/experiments/050b688f-4646-45b0-94f5-cc37c6a3d013"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ2MH0.taPVyWezU4aBQraAU9hhl4qCqZhcla8sC69i8CEn1CY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"f30c26d90ccc8fbb1950322469f3efc9","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/050b688f-4646-45b0-94f5-cc37c6a3d013"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":25,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:00Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":25,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.345088,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:00Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/050b688f-4646-45b0-94f5-cc37c6a3d013","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/050b688f-4646-45b0-94f5-cc37c6a3d013","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454460,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ2MH0.taPVyWezU4aBQraAU9hhl4qCqZhcla8sC69i8CEn1CY"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f30c26d90ccc8fbb1950322469f3efc9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/050b688f-4646-45b0-94f5-cc37c6a3d013"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":26,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:00Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":26,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.116833,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:00Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f6eec282-7782-43b3-9f69-8f554fdedbbc","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"peerconnection:http://localhost/peerconnections/f6eec282-7782-43b3-9f69-8f554fdedbbc","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454460,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ2MH0.taPVyWezU4aBQraAU9hhl4qCqZhcla8sC69i8CEn1CY"} 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":"980daa20-d01f-11ee-ad1d-cbf3af4d0136"},"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/f6eec282-7782-43b3-9f69-8f554fdedbbc' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/f6eec282-7782-43b3-9f69-8f554fdedbbc' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"f6eec282-7782-43b3-9f69-8f554fdedbbc","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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"9acd4fd953d99f9a1995179fd1c0219e","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/23732c4c-c776-4a6a-916f-a02b91bd9ef4"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/327e10c6-34ca-4e04-8bdd-de1ca2648563"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f6eec282-7782-43b3-9f69-8f554fdedbbc"}}},"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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"54179678b71d4015f3399f6b01136b10","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/23732c4c-c776-4a6a-916f-a02b91bd9ef4"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/327e10c6-34ca-4e04-8bdd-de1ca2648563"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f6eec282-7782-43b3-9f69-8f554fdedbbc"}}},"level":"info","message":"received a callback"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff6eec282-7782-43b3-9f69-8f554fdedbbc': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff6eec282-7782-43b3-9f69-8f554fdedbbc","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]},"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":null},"raw_response":{},"request_id":"c7998b09-94be-48d4-9a29-b2262881fe40","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454460.9042742} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c99e16ee-b4dd-4bb7-a2ed-d8685197636a","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454460.904623} 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":"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":"980daa20-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":18}} device_1 | {"data":{"peerconnection":"f6eec282-7782-43b3-9f69-8f554fdedbbc","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/f6eec282-7782-43b3-9f69-8f554fdedbbc 204 295ms","method":"DELETE","requestID":"980daa20-d01f-11ee-ad1d-cbf3af4d0136","responseTime":295,"status":204,"url":"/peerconnections/f6eec282-7782-43b3-9f69-8f554fdedbbc"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/050b688f-4646-45b0-94f5-cc37c6a3d013"},"level":"info","message":"Successfully finished experiment"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F050b688f-4646-45b0-94f5-cc37c6a3d013': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F050b688f-4646-45b0-94f5-cc37c6a3d013","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]},"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":null},"raw_response":{},"request_id":"078547d2-99cb-48aa-88d5-2cce8455acbc","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454461.423747} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"86344e60-073b-42dc-8cee-b2b22a6221e0","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454461.4243124} authorization_1 | {"level":"info","message":"POST /relations/update 200 124ms","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":"f30c26d90ccc8fbb1950322469f3efc9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":124}} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/050b688f-4646-45b0-94f5-cc37c6a3d013"} gateway_1 | {"time_local":"20/Feb/2024:18:41:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/050b688f-4646-45b0-94f5-cc37c6a3d013 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"1.260","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f30c26d90ccc8fbb1950322469f3efc9"} experiment_1 | {"level":"info","message":"DELETE /experiments/050b688f-4646-45b0-94f5-cc37c6a3d013 204 1255ms","method":"DELETE","requestID":"f30c26d90ccc8fbb1950322469f3efc9","responseTime":1255,"status":204,"url":"/experiments/050b688f-4646-45b0-94f5-cc37c6a3d013"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1213ms","method":"POST","requestID":"9acd4fd953d99f9a1995179fd1c0219e","responseTime":1213,"status":200,"url":"/callbacks/experiment"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ2Mn0.5eeV-I91s3QsBC54LLBU9PL6IgWubbPqC7hUxHxTj4o","level":"info","message":"auth send jwt"} gateway_1 | {"time_local":"20/Feb/2024:18:41:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"1.218","http_referrer":"","http_user_agent":"node-fetch","requestID":"9acd4fd953d99f9a1995179fd1c0219e"} gateway_1 | {"time_local":"20/Feb/2024:18:41:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1487","request_time":"5.036","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"b145b4dfe76a8ba1d0673a0b10443455"} authentication_1 | {"level":"info","message":"GET /auth 200 9ms","method":"GET","requestID":"d4c66d355129c5c76f0b8596c48a5f07","responseTime":9,"status":200,"url":"/auth"} gateway_1 | {"time_local":"20/Feb/2024:18:41:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1757","request_time":"5.245","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"a1964027b6b7d22b8182940fa06ee156"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1217ms","method":"POST","requestID":"54179678b71d4015f3399f6b01136b10","responseTime":1217,"status":200,"url":"/callbacks/experiment"} device_1 | {"level":"info","message":"postDevices called"} gateway_1 | {"time_local":"20/Feb/2024:18:41:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"1.221","http_referrer":"","http_user_agent":"node-fetch","requestID":"54179678b71d4015f3399f6b01136b10"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":27,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:02Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":27,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.850937,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:02Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454462,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ2Mn0.5eeV-I91s3QsBC54LLBU9PL6IgWubbPqC7hUxHxTj4o"} authorization_1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d4c66d355129c5c76f0b8596c48a5f07"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/23732c4c-c776-4a6a-916f-a02b91bd9ef4' closed"} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/327e10c6-34ca-4e04-8bdd-de1ca2648563' 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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F075fcae0-846f-4e60-bee4-7e67c2dff53e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e6001c1f-8cc3-48ef-b7c0-45b06e8fd2bd","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454462.254849} 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":"d4c66d355129c5c76f0b8596c48a5f07"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6d292c89-6f9e-4c63-939d-a6c05563c581","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454462.2633286} 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":"d4c66d355129c5c76f0b8596c48a5f07"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F075fcae0-846f-4e60-bee4-7e67c2dff53e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"7ab4ae48-c521-4a73-9316-9e7c1f5be168","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454462.3887694} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"09cbe2a2-cd1d-476a-8e11-dddd95ea1e91","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454462.3890636} authorization_1 | {"level":"info","message":"POST /relations/update 200 130ms","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":"d4c66d355129c5c76f0b8596c48a5f07"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":130}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F075fcae0-846f-4e60-bee4-7e67c2dff53e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F075fcae0-846f-4e60-bee4-7e67c2dff53e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:02.388730196Z"}]},"request_id":"3af28e1a-ba23-4126-9a35-8a843d58a3cc","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454462.398411} 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":"d4c66d355129c5c76f0b8596c48a5f07"},"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 282ms","method":"POST","requestID":"d4c66d355129c5c76f0b8596c48a5f07","responseTime":282,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"20/Feb/2024:18:41: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.299","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d4c66d355129c5c76f0b8596c48a5f07"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ2Mn0.5eeV-I91s3QsBC54LLBU9PL6IgWubbPqC7hUxHxTj4o","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"d32c08bf8330f2708abc74d5c0850fc0","responseTime":6,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":28,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:02Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":28,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.18484,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:02Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454462,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ2Mn0.5eeV-I91s3QsBC54LLBU9PL6IgWubbPqC7hUxHxTj4o"} 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":"d32c08bf8330f2708abc74d5c0850fc0"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1db1a39a-5c97-4de3-8daa-4eb2fd06d3cf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"6bf8c234-dc78-4a83-be31-5b4e1acdd7ab","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454462.5393877} 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":"d32c08bf8330f2708abc74d5c0850fc0"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9f985359-2340-4e65-9714-e5bb97ffbaa7","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454462.5485172} 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":"d32c08bf8330f2708abc74d5c0850fc0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1db1a39a-5c97-4de3-8daa-4eb2fd06d3cf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"b08dbd92-c063-4114-9819-364f36541448","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454462.6567755} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c5448733-623b-4a2d-ba18-8b6a971892fc","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454462.657084} authorization_1 | {"level":"info","message":"POST /relations/update 200 112ms","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":"d32c08bf8330f2708abc74d5c0850fc0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":112}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1db1a39a-5c97-4de3-8daa-4eb2fd06d3cf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1db1a39a-5c97-4de3-8daa-4eb2fd06d3cf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:02.656738291Z"}]},"request_id":"9b661132-2b2a-4e9e-9e22-9bbd51d0cb65","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454462.6649067} 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":"d32c08bf8330f2708abc74d5c0850fc0"},"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 256ms","method":"POST","requestID":"d32c08bf8330f2708abc74d5c0850fc0","responseTime":256,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"20/Feb/2024:18:41:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.291","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d32c08bf8330f2708abc74d5c0850fc0"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ2M30.DbPZtakzk8bKtCrULmILQ-rQ_tV7LXxoIW6zpCdqKEQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"cc3a7327d5c8898dfcb190e297db27ad","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":29,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:03Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":29,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.176894,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:03Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1db1a39a-5c97-4de3-8daa-4eb2fd06d3cf","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/1db1a39a-5c97-4de3-8daa-4eb2fd06d3cf","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454463,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ2M30.DbPZtakzk8bKtCrULmILQ-rQ_tV7LXxoIW6zpCdqKEQ"} 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":"cc3a7327d5c8898dfcb190e297db27ad"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1db1a39a-5c97-4de3-8daa-4eb2fd06d3cf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1db1a39a-5c97-4de3-8daa-4eb2fd06d3cf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:02.656738291Z"}]},"request_id":"4ca75503-88c2-4374-8c2d-bcd6e3046c9c","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454463.5405908} 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":"cc3a7327d5c8898dfcb190e297db27ad"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"281b40a5-2868-44ba-aa84-cb03dce40aa0","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454463.5481405} 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":"cc3a7327d5c8898dfcb190e297db27ad"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1db1a39a-5c97-4de3-8daa-4eb2fd06d3cf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1db1a39a-5c97-4de3-8daa-4eb2fd06d3cf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:02.656738291Z"}]},"request_id":"30bab01e-6e7a-486c-8709-3911135d0148","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454463.8702555} 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":"cc3a7327d5c8898dfcb190e297db27ad"},"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":"20/Feb/2024:18:41:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/1db1a39a-5c97-4de3-8daa-4eb2fd06d3cf HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.365","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"cc3a7327d5c8898dfcb190e297db27ad"} device_1 | {"level":"info","message":"PATCH /devices/1db1a39a-5c97-4de3-8daa-4eb2fd06d3cf 200 358ms","method":"PATCH","requestID":"cc3a7327d5c8898dfcb190e297db27ad","responseTime":358,"status":200,"url":"/devices/1db1a39a-5c97-4de3-8daa-4eb2fd06d3cf"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ2M30.DbPZtakzk8bKtCrULmILQ-rQ_tV7LXxoIW6zpCdqKEQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"53a905e1cc30119cf911c502ac74dff6","responseTime":6,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":30,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:03Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":30,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.693805,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:03Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1db1a39a-5c97-4de3-8daa-4eb2fd06d3cf","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/1db1a39a-5c97-4de3-8daa-4eb2fd06d3cf","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454463,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ2M30.DbPZtakzk8bKtCrULmILQ-rQ_tV7LXxoIW6zpCdqKEQ"} 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":"53a905e1cc30119cf911c502ac74dff6"},"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":"20/Feb/2024:18:41:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/1db1a39a-5c97-4de3-8daa-4eb2fd06d3cf/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.188","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"53a905e1cc30119cf911c502ac74dff6"} device_1 | {"level":"info","message":"POST /devices/1db1a39a-5c97-4de3-8daa-4eb2fd06d3cf/websocket 200 180ms","method":"POST","requestID":"53a905e1cc30119cf911c502ac74dff6","responseTime":180,"status":200,"url":"/devices/1db1a39a-5c97-4de3-8daa-4eb2fd06d3cf/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/1db1a39a-5c97-4de3-8daa-4eb2fd06d3cf' 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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"53b435b8d6e6d6ca0d69c80c50905438","responseTime":1,"status":200,"url":"/auth"} gateway_1 | {"time_local":"20/Feb/2024:18:41:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/075fcae0-846f-4e60-bee4-7e67c2dff53e/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":"53b435b8d6e6d6ca0d69c80c50905438"} device_1 | {"level":"info","message":"OPTIONS /devices/075fcae0-846f-4e60-bee4-7e67c2dff53e/websocket 200 2ms","method":"OPTIONS","requestID":"53b435b8d6e6d6ca0d69c80c50905438","responseTime":2,"status":200,"url":"/devices/075fcae0-846f-4e60-bee4-7e67c2dff53e/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ2NH0.iPSuOfEFN9M28QD9vPB2K48nXDyFIANY2_AbAi1Miw0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"ee422d07004334a554cbd783e9921d94","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":31,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:04Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":31,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.27317,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:04Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/075fcae0-846f-4e60-bee4-7e67c2dff53e","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/075fcae0-846f-4e60-bee4-7e67c2dff53e","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454464,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ2NH0.iPSuOfEFN9M28QD9vPB2K48nXDyFIANY2_AbAi1Miw0"} 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":"ee422d07004334a554cbd783e9921d94"},"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":"20/Feb/2024:18:41:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/075fcae0-846f-4e60-bee4-7e67c2dff53e/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.138","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"ee422d07004334a554cbd783e9921d94"} device_1 | {"level":"info","message":"POST /devices/075fcae0-846f-4e60-bee4-7e67c2dff53e/websocket 200 130ms","method":"POST","requestID":"ee422d07004334a554cbd783e9921d94","responseTime":130,"status":200,"url":"/devices/075fcae0-846f-4e60-bee4-7e67c2dff53e/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/075fcae0-846f-4e60-bee4-7e67c2dff53e' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ2NH0.iPSuOfEFN9M28QD9vPB2K48nXDyFIANY2_AbAi1Miw0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"74754c6ef2c4d13085dc84798650946d","responseTime":6,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":32,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:04Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":32,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.420127,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:04Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/075fcae0-846f-4e60-bee4-7e67c2dff53e","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/075fcae0-846f-4e60-bee4-7e67c2dff53e","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454464,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ2NH0.iPSuOfEFN9M28QD9vPB2K48nXDyFIANY2_AbAi1Miw0"} 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":"74754c6ef2c4d13085dc84798650946d"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F075fcae0-846f-4e60-bee4-7e67c2dff53e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F075fcae0-846f-4e60-bee4-7e67c2dff53e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:02.388730196Z"}]},"request_id":"3b3f5c06-6786-467d-ad3f-a09a02613fa5","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454464.9110756} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"74754c6ef2c4d13085dc84798650946d"},"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":"20/Feb/2024:18:41:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/075fcae0-846f-4e60-bee4-7e67c2dff53e? 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":"74754c6ef2c4d13085dc84798650946d"} device_1 | {"level":"info","message":"GET /devices/075fcae0-846f-4e60-bee4-7e67c2dff53e? 200 19ms","method":"GET","requestID":"74754c6ef2c4d13085dc84798650946d","responseTime":19,"status":200,"url":"/devices/075fcae0-846f-4e60-bee4-7e67c2dff53e?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ2NH0.iPSuOfEFN9M28QD9vPB2K48nXDyFIANY2_AbAi1Miw0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4ef7078ca5792284c99a86cf7a0c7dc5","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":33,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:04Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":33,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.251586,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:04Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1db1a39a-5c97-4de3-8daa-4eb2fd06d3cf","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/1db1a39a-5c97-4de3-8daa-4eb2fd06d3cf","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454464,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ2NH0.iPSuOfEFN9M28QD9vPB2K48nXDyFIANY2_AbAi1Miw0"} 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":"4ef7078ca5792284c99a86cf7a0c7dc5"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1db1a39a-5c97-4de3-8daa-4eb2fd06d3cf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1db1a39a-5c97-4de3-8daa-4eb2fd06d3cf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:02.656738291Z"}]},"request_id":"f3a55633-ee2d-40cb-a95f-b03d879ffc38","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454464.9349432} 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":"4ef7078ca5792284c99a86cf7a0c7dc5"},"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":"20/Feb/2024:18:41:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1db1a39a-5c97-4de3-8daa-4eb2fd06d3cf? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4ef7078ca5792284c99a86cf7a0c7dc5"} device_1 | {"level":"info","message":"GET /devices/1db1a39a-5c97-4de3-8daa-4eb2fd06d3cf? 200 16ms","method":"GET","requestID":"4ef7078ca5792284c99a86cf7a0c7dc5","responseTime":16,"status":200,"url":"/devices/1db1a39a-5c97-4de3-8daa-4eb2fd06d3cf?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ2NH0.iPSuOfEFN9M28QD9vPB2K48nXDyFIANY2_AbAi1Miw0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3c474ed31d44fe9fa20ed4f879641815","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:48424","level":"info","msg":"Received request.","req_id":34,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:04Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":34,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.882267,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:04Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454464,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ2NH0.iPSuOfEFN9M28QD9vPB2K48nXDyFIANY2_AbAi1Miw0"} 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":"3c474ed31d44fe9fa20ed4f879641815"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/d876751a-b668-43b0-8ef3-9d3b934993ca"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/d876751a-b668-43b0-8ef3-9d3b934993ca"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/d876751a-b668-43b0-8ef3-9d3b934993ca"},"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:48424","level":"info","msg":"Received request.","req_id":35,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:05Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":35,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.822986,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:05Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/075fcae0-846f-4e60-bee4-7e67c2dff53e","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/075fcae0-846f-4e60-bee4-7e67c2dff53e","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454464,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ2NH0.iPSuOfEFN9M28QD9vPB2K48nXDyFIANY2_AbAi1Miw0"} 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":"9aa80410-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"client_addr":"127.0.0.1:48450","level":"info","msg":"Received request.","req_id":36,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:05Z"} authorization_1 | {"client_addr":"127.0.0.1:48450","level":"info","msg":"Sent response.","req_id":36,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.308382,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:05Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1db1a39a-5c97-4de3-8daa-4eb2fd06d3cf","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/1db1a39a-5c97-4de3-8daa-4eb2fd06d3cf","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454464,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ2NH0.iPSuOfEFN9M28QD9vPB2K48nXDyFIANY2_AbAi1Miw0"} 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":"9aa87940-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F075fcae0-846f-4e60-bee4-7e67c2dff53e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F075fcae0-846f-4e60-bee4-7e67c2dff53e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:02.388730196Z"}]},"request_id":"639e6655-63eb-4c16-83e5-eb3218012c31","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454465.2475374} 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":"9aa80410-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1db1a39a-5c97-4de3-8daa-4eb2fd06d3cf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1db1a39a-5c97-4de3-8daa-4eb2fd06d3cf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:02.656738291Z"}]},"request_id":"a4c47464-0f64-4416-8502-5118057e12f5","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454465.252143} device_1 | {"level":"info","message":"getDevicesByDeviceId 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":"9aa87940-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"GET /devices/075fcae0-846f-4e60-bee4-7e67c2dff53e? 200 21ms","method":"GET","requestID":"9aa80410-d01f-11ee-ad1d-cbf3af4d0136","responseTime":21,"status":200,"url":"/devices/075fcae0-846f-4e60-bee4-7e67c2dff53e?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/1db1a39a-5c97-4de3-8daa-4eb2fd06d3cf? 200 22ms","method":"GET","requestID":"9aa87940-d01f-11ee-ad1d-cbf3af4d0136","responseTime":22,"status":200,"url":"/devices/1db1a39a-5c97-4de3-8daa-4eb2fd06d3cf?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/d876751a-b668-43b0-8ef3-9d3b934993ca"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/d876751a-b668-43b0-8ef3-9d3b934993ca"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/d876751a-b668-43b0-8ef3-9d3b934993ca"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/d876751a-b668-43b0-8ef3-9d3b934993ca"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/d876751a-b668-43b0-8ef3-9d3b934993ca"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/d876751a-b668-43b0-8ef3-9d3b934993ca"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/d876751a-b668-43b0-8ef3-9d3b934993ca"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/d876751a-b668-43b0-8ef3-9d3b934993ca"},"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/d876751a-b668-43b0-8ef3-9d3b934993ca"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":37,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:05Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":37,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.919424,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:05Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/075fcae0-846f-4e60-bee4-7e67c2dff53e","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/075fcae0-846f-4e60-bee4-7e67c2dff53e","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454464,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ2NH0.iPSuOfEFN9M28QD9vPB2K48nXDyFIANY2_AbAi1Miw0"} 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":"9ae02b10-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:48450","level":"info","msg":"Received request.","req_id":38,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:05Z"} authorization_1 | {"client_addr":"127.0.0.1:48450","level":"info","msg":"Sent response.","req_id":38,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.258102,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:05Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1db1a39a-5c97-4de3-8daa-4eb2fd06d3cf","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/1db1a39a-5c97-4de3-8daa-4eb2fd06d3cf","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454464,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ2NH0.iPSuOfEFN9M28QD9vPB2K48nXDyFIANY2_AbAi1Miw0"} 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":"9ae07930-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F075fcae0-846f-4e60-bee4-7e67c2dff53e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F075fcae0-846f-4e60-bee4-7e67c2dff53e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:02.388730196Z"}]},"request_id":"b7ba0b52-2474-4771-aac8-10e0f210f688","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454465.6166408} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9ae02b10-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1db1a39a-5c97-4de3-8daa-4eb2fd06d3cf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1db1a39a-5c97-4de3-8daa-4eb2fd06d3cf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:02.656738291Z"}]},"request_id":"d7711d53-6cae-4999-bb91-66142b3ac8e6","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454465.6174586} 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":"9ae07930-d01f-11ee-ad1d-cbf3af4d0136"},"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/075fcae0-846f-4e60-bee4-7e67c2dff53e? 200 22ms","method":"GET","requestID":"9ae02b10-d01f-11ee-ad1d-cbf3af4d0136","responseTime":22,"status":200,"url":"/devices/075fcae0-846f-4e60-bee4-7e67c2dff53e?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/1db1a39a-5c97-4de3-8daa-4eb2fd06d3cf? 200 22ms","method":"GET","requestID":"9ae07930-d01f-11ee-ad1d-cbf3af4d0136","responseTime":22,"status":200,"url":"/devices/1db1a39a-5c97-4de3-8daa-4eb2fd06d3cf?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":39,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:05Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":39,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":1.061812,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:05Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/075fcae0-846f-4e60-bee4-7e67c2dff53e","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/075fcae0-846f-4e60-bee4-7e67c2dff53e","object_type":"device","rebac_allow":false,"scope_allow":false,"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":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9ae449c0-d01f-11ee-ad1d-cbf3af4d0136"},"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/075fcae0-846f-4e60-bee4-7e67c2dff53e/signaling 200 10ms","method":"POST","requestID":"9ae449c0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":10,"status":200,"url":"/devices/075fcae0-846f-4e60-bee4-7e67c2dff53e/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":40,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:05Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":40,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":1.104515,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:05Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/1db1a39a-5c97-4de3-8daa-4eb2fd06d3cf","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1db1a39a-5c97-4de3-8daa-4eb2fd06d3cf","object_type":"device","rebac_allow":false,"scope_allow":false,"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":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9ae66ca0-d01f-11ee-ad1d-cbf3af4d0136"},"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/1db1a39a-5c97-4de3-8daa-4eb2fd06d3cf/signaling 200 10ms","method":"POST","requestID":"9ae66ca0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":10,"status":200,"url":"/devices/1db1a39a-5c97-4de3-8daa-4eb2fd06d3cf/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/d876751a-b668-43b0-8ef3-9d3b934993ca"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/d876751a-b668-43b0-8ef3-9d3b934993ca"},"level":"info","message":"Building connection plan"} experiment_1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"21b8feb6-caf3-417a-ae32-f59b92051819"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"8c9c8717-84f9-44b0-b0c6-b7dad2e8404a"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"6f63b99f-f479-4e01-bb1b-8f3ba07cbbc8"}]},"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/075fcae0-846f-4e60-bee4-7e67c2dff53e"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/1db1a39a-5c97-4de3-8daa-4eb2fd06d3cf"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":41,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:05Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":41,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.734016,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:05Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454464,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ2NH0.iPSuOfEFN9M28QD9vPB2K48nXDyFIANY2_AbAi1Miw0"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9ae8b690-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd876751a-b668-43b0-8ef3-9d3b934993ca#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd876751a-b668-43b0-8ef3-9d3b934993ca","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"b8c37764-e7b9-4129-bf03-d13f14d70262","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454465.7366943} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a4b15b47-4f84-45fe-846a-3d59e34e74e3","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454465.7371967} authorization_1 | {"level":"info","message":"POST /relations/update 200 135ms","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":"3c474ed31d44fe9fa20ed4f879641815"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":135}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","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%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"a53815b4-25f2-4d08-96bd-530d9529ebf8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454465.746818} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2b721311-5f48-4161-afd8-8460b3700445","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454465.7471037} authorization_1 | {"level":"info","message":"POST /relations/update 200 79ms","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":"9ae8b690-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":79}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/d876751a-b668-43b0-8ef3-9d3b934993ca","user":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 806ms","method":"POST","requestID":"3c474ed31d44fe9fa20ed4f879641815","responseTime":806,"status":201,"url":"/experiments?"} gateway_1 | {"time_local":"20/Feb/2024:18:41:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"0.815","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3c474ed31d44fe9fa20ed4f879641815"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ2NX0.fEzktODnfk5bFtkCpLSEbe1o8dqID0c74EmMt6Yx2Jw","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"d9f9f0129e7b0c12d35f417476fab5ac","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":42,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:05Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":42,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.919809,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:05Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/075fcae0-846f-4e60-bee4-7e67c2dff53e","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/075fcae0-846f-4e60-bee4-7e67c2dff53e","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454465,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ2NX0.fEzktODnfk5bFtkCpLSEbe1o8dqID0c74EmMt6Yx2Jw"} 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":"d9f9f0129e7b0c12d35f417476fab5ac"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F075fcae0-846f-4e60-bee4-7e67c2dff53e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F075fcae0-846f-4e60-bee4-7e67c2dff53e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:02.388730196Z"}]},"request_id":"36f69358-a4a6-4bcf-8093-673cf7686ee4","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454465.7768624} 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":"d9f9f0129e7b0c12d35f417476fab5ac"},"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/66da61d7-3abe-47d9-a0f4-cb240fc4c1ac'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/66da61d7-3abe-47d9-a0f4-cb240fc4c1ac'"} 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 239ms","method":"POST","requestID":"9ae8b690-d01f-11ee-ad1d-cbf3af4d0136","responseTime":239,"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":"20/Feb/2024:18:41:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/075fcae0-846f-4e60-bee4-7e67c2dff53e? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.138","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d9f9f0129e7b0c12d35f417476fab5ac"} device_1 | {"level":"info","message":"GET /devices/075fcae0-846f-4e60-bee4-7e67c2dff53e? 200 131ms","method":"GET","requestID":"d9f9f0129e7b0c12d35f417476fab5ac","responseTime":131,"status":200,"url":"/devices/075fcae0-846f-4e60-bee4-7e67c2dff53e?"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ2NX0.fEzktODnfk5bFtkCpLSEbe1o8dqID0c74EmMt6Yx2Jw","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d27f56c7cfc8febbe654f316982f0d22","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":43,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:05Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":43,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.845993,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:05Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1db1a39a-5c97-4de3-8daa-4eb2fd06d3cf","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/1db1a39a-5c97-4de3-8daa-4eb2fd06d3cf","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454465,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ2NX0.fEzktODnfk5bFtkCpLSEbe1o8dqID0c74EmMt6Yx2Jw"} 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":"d27f56c7cfc8febbe654f316982f0d22"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1db1a39a-5c97-4de3-8daa-4eb2fd06d3cf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1db1a39a-5c97-4de3-8daa-4eb2fd06d3cf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:02.656738291Z"}]},"request_id":"aa055537-1a6d-47f6-9579-67fbddb6ac44","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454465.9168584} 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":"d27f56c7cfc8febbe654f316982f0d22"},"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":"20/Feb/2024:18:41:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1db1a39a-5c97-4de3-8daa-4eb2fd06d3cf? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d27f56c7cfc8febbe654f316982f0d22"} device_1 | {"level":"info","message":"GET /devices/1db1a39a-5c97-4de3-8daa-4eb2fd06d3cf? 200 14ms","method":"GET","requestID":"d27f56c7cfc8febbe654f316982f0d22","responseTime":14,"status":200,"url":"/devices/1db1a39a-5c97-4de3-8daa-4eb2fd06d3cf?"} device_1 | {"data":{"peerconnection":"66da61d7-3abe-47d9-a0f4-cb240fc4c1ac","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/66da61d7-3abe-47d9-a0f4-cb240fc4c1ac' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"66da61d7-3abe-47d9-a0f4-cb240fc4c1ac","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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"81f8ab6858a9b80047e8df83da4863d0","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/075fcae0-846f-4e60-bee4-7e67c2dff53e"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/1db1a39a-5c97-4de3-8daa-4eb2fd06d3cf"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/66da61d7-3abe-47d9-a0f4-cb240fc4c1ac"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 156ms","method":"POST","requestID":"81f8ab6858a9b80047e8df83da4863d0","responseTime":156,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:41:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.160","http_referrer":"","http_user_agent":"node-fetch","requestID":"81f8ab6858a9b80047e8df83da4863d0"} device_1 | {"data":{"peerconnection":"66da61d7-3abe-47d9-a0f4-cb240fc4c1ac","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ2Nn0.T4zwvNsAps8mVmlWumWdEupR3i_7nVPP8xKXgHrt-rM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"093ec4c8106f64278148d05e48fee43b","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/d876751a-b668-43b0-8ef3-9d3b934993ca"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/d876751a-b668-43b0-8ef3-9d3b934993ca"},"level":"info","message":"Successfully created peerconnections for experiment"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":44,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:06Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":44,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.294461,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:06Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/d876751a-b668-43b0-8ef3-9d3b934993ca","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/d876751a-b668-43b0-8ef3-9d3b934993ca","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454466,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ2Nn0.T4zwvNsAps8mVmlWumWdEupR3i_7nVPP8xKXgHrt-rM"} 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":"093ec4c8106f64278148d05e48fee43b"},"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/d876751a-b668-43b0-8ef3-9d3b934993ca"} gateway_1 | {"time_local":"20/Feb/2024:18:41:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/d876751a-b668-43b0-8ef3-9d3b934993ca HTTP/1.1","status": "200","body_bytes_sent":"882","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"093ec4c8106f64278148d05e48fee43b"} experiment_1 | {"level":"info","message":"GET /experiments/d876751a-b668-43b0-8ef3-9d3b934993ca 200 18ms","method":"GET","requestID":"093ec4c8106f64278148d05e48fee43b","responseTime":18,"status":200,"url":"/experiments/d876751a-b668-43b0-8ef3-9d3b934993ca"} device_1 | {"data":{"peerconnection":"66da61d7-3abe-47d9-a0f4-cb240fc4c1ac","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ2Nn0.T4zwvNsAps8mVmlWumWdEupR3i_7nVPP8xKXgHrt-rM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"881965addbeba168489344e63fd1ef02","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/d876751a-b668-43b0-8ef3-9d3b934993ca"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":45,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:06Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":45,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.241144,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:06Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/d876751a-b668-43b0-8ef3-9d3b934993ca","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/d876751a-b668-43b0-8ef3-9d3b934993ca","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454466,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ2Nn0.T4zwvNsAps8mVmlWumWdEupR3i_7nVPP8xKXgHrt-rM"} authorization_1 | {"level":"info","message":"POST /authorize 200 8ms","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":"881965addbeba168489344e63fd1ef02"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/d876751a-b668-43b0-8ef3-9d3b934993ca"} gateway_1 | {"time_local":"20/Feb/2024:18:41:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/d876751a-b668-43b0-8ef3-9d3b934993ca HTTP/1.1","status": "200","body_bytes_sent":"882","request_time":"0.029","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"881965addbeba168489344e63fd1ef02"} experiment_1 | {"level":"info","message":"GET /experiments/d876751a-b668-43b0-8ef3-9d3b934993ca 200 24ms","method":"GET","requestID":"881965addbeba168489344e63fd1ef02","responseTime":24,"status":200,"url":"/experiments/d876751a-b668-43b0-8ef3-9d3b934993ca"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/66da61d7-3abe-47d9-a0f4-cb240fc4c1ac' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"66da61d7-3abe-47d9-a0f4-cb240fc4c1ac","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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"e3a761edaa6c96fd7a233ae2a841b9bb","responseTime":2,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/075fcae0-846f-4e60-bee4-7e67c2dff53e"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/1db1a39a-5c97-4de3-8daa-4eb2fd06d3cf"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/66da61d7-3abe-47d9-a0f4-cb240fc4c1ac"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":46,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:06Z"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","contextual_tuples":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F66da61d7-3abe-47d9-a0f4-cb240fc4c1ac","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"70e6cdee-5716-41d4-88ed-6a248af8353d","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454466.4845698} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":46,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":4.65832,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:06Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/66da61d7-3abe-47d9-a0f4-cb240fc4c1ac","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/66da61d7-3abe-47d9-a0f4-cb240fc4c1ac","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9b65d5d0-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ2Nn0.T4zwvNsAps8mVmlWumWdEupR3i_7nVPP8xKXgHrt-rM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"3174a19e9f36bb00bd333206c7ea9eb7","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/d876751a-b668-43b0-8ef3-9d3b934993ca"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":47,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:06Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":47,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.353565,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:06Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/d876751a-b668-43b0-8ef3-9d3b934993ca","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/d876751a-b668-43b0-8ef3-9d3b934993ca","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454466,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ2Nn0.T4zwvNsAps8mVmlWumWdEupR3i_7nVPP8xKXgHrt-rM"} 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":"3174a19e9f36bb00bd333206c7ea9eb7"},"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/d876751a-b668-43b0-8ef3-9d3b934993ca"} experiment_1 | {"level":"info","message":"GET /experiments/d876751a-b668-43b0-8ef3-9d3b934993ca 200 17ms","method":"GET","requestID":"3174a19e9f36bb00bd333206c7ea9eb7","responseTime":17,"status":200,"url":"/experiments/d876751a-b668-43b0-8ef3-9d3b934993ca"} gateway_1 | {"time_local":"20/Feb/2024:18:41:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/d876751a-b668-43b0-8ef3-9d3b934993ca HTTP/1.1","status": "200","body_bytes_sent":"882","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3174a19e9f36bb00bd333206c7ea9eb7"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"GET /peerconnections/66da61d7-3abe-47d9-a0f4-cb240fc4c1ac 200 122ms","method":"GET","requestID":"9b65d5d0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":122,"status":200,"url":"/peerconnections/66da61d7-3abe-47d9-a0f4-cb240fc4c1ac"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ2Nn0.T4zwvNsAps8mVmlWumWdEupR3i_7nVPP8xKXgHrt-rM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"e8d71ddf55db948d4a508e4c326e2fe1","responseTime":6,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/d876751a-b668-43b0-8ef3-9d3b934993ca"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":48,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:06Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":48,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.321614,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:06Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/d876751a-b668-43b0-8ef3-9d3b934993ca","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/d876751a-b668-43b0-8ef3-9d3b934993ca","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454466,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ2Nn0.T4zwvNsAps8mVmlWumWdEupR3i_7nVPP8xKXgHrt-rM"} 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":"e8d71ddf55db948d4a508e4c326e2fe1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 254ms","method":"POST","requestID":"e3a761edaa6c96fd7a233ae2a841b9bb","responseTime":254,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:41:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.258","http_referrer":"","http_user_agent":"node-fetch","requestID":"e3a761edaa6c96fd7a233ae2a841b9bb"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/d876751a-b668-43b0-8ef3-9d3b934993ca"} gateway_1 | {"time_local":"20/Feb/2024:18:41:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/d876751a-b668-43b0-8ef3-9d3b934993ca HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e8d71ddf55db948d4a508e4c326e2fe1"} experiment_1 | {"level":"info","message":"GET /experiments/d876751a-b668-43b0-8ef3-9d3b934993ca 200 35ms","method":"GET","requestID":"e8d71ddf55db948d4a508e4c326e2fe1","responseTime":35,"status":200,"url":"/experiments/d876751a-b668-43b0-8ef3-9d3b934993ca"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ2Nn0.T4zwvNsAps8mVmlWumWdEupR3i_7nVPP8xKXgHrt-rM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9680d52cf68d01a7a3915d1484dd6e2c","responseTime":2,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/d876751a-b668-43b0-8ef3-9d3b934993ca"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":49,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:06Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":49,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.897991,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:06Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/d876751a-b668-43b0-8ef3-9d3b934993ca","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/d876751a-b668-43b0-8ef3-9d3b934993ca","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454466,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ2Nn0.T4zwvNsAps8mVmlWumWdEupR3i_7nVPP8xKXgHrt-rM"} 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":"9680d52cf68d01a7a3915d1484dd6e2c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/d876751a-b668-43b0-8ef3-9d3b934993ca"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":50,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:06Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":50,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.985969,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:06Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/66da61d7-3abe-47d9-a0f4-cb240fc4c1ac","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"peerconnection:http://localhost/peerconnections/66da61d7-3abe-47d9-a0f4-cb240fc4c1ac","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454466,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ2Nn0.T4zwvNsAps8mVmlWumWdEupR3i_7nVPP8xKXgHrt-rM"} 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":"9b904130-d01f-11ee-ad1d-cbf3af4d0136"},"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/66da61d7-3abe-47d9-a0f4-cb240fc4c1ac' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/66da61d7-3abe-47d9-a0f4-cb240fc4c1ac' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"66da61d7-3abe-47d9-a0f4-cb240fc4c1ac","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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"94a93b4ffc4b065d939012449df48220","responseTime":0,"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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"8c05172971f5206c7787c15972c04803","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/075fcae0-846f-4e60-bee4-7e67c2dff53e"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/1db1a39a-5c97-4de3-8daa-4eb2fd06d3cf"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/66da61d7-3abe-47d9-a0f4-cb240fc4c1ac"}}},"level":"info","message":"received a callback"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F66da61d7-3abe-47d9-a0f4-cb240fc4c1ac': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F66da61d7-3abe-47d9-a0f4-cb240fc4c1ac","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]},"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":null},"raw_response":{},"request_id":"162d6344-d974-42b8-b554-9edb9e65cd23","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454466.7826576} 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/075fcae0-846f-4e60-bee4-7e67c2dff53e"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/1db1a39a-5c97-4de3-8daa-4eb2fd06d3cf"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/66da61d7-3abe-47d9-a0f4-cb240fc4c1ac"}}},"level":"info","message":"received a callback"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"827c97f4-df2e-47fe-8f90-18cf613358cb","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454466.7829213} authorization_1 | {"level":"info","message":"POST /relations/update 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9b904130-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} device_1 | {"data":{"peerconnection":"66da61d7-3abe-47d9-a0f4-cb240fc4c1ac","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/66da61d7-3abe-47d9-a0f4-cb240fc4c1ac 204 287ms","method":"DELETE","requestID":"9b904130-d01f-11ee-ad1d-cbf3af4d0136","responseTime":287,"status":204,"url":"/peerconnections/66da61d7-3abe-47d9-a0f4-cb240fc4c1ac"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/d876751a-b668-43b0-8ef3-9d3b934993ca"},"level":"info","message":"Successfully finished experiment"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd876751a-b668-43b0-8ef3-9d3b934993ca': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd876751a-b668-43b0-8ef3-9d3b934993ca","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]},"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":null},"raw_response":{},"request_id":"624a5430-e740-44ee-89ac-12792b479826","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454467.2635133} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"94b80da2-2808-45ad-af71-f46c05206524","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454467.263918} authorization_1 | {"level":"info","message":"POST /relations/update 200 106ms","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":"9680d52cf68d01a7a3915d1484dd6e2c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":106}} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/d876751a-b668-43b0-8ef3-9d3b934993ca"} gateway_1 | {"time_local":"20/Feb/2024:18:41:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/d876751a-b668-43b0-8ef3-9d3b934993ca HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"1.196","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9680d52cf68d01a7a3915d1484dd6e2c"} gateway_1 | {"time_local":"20/Feb/2024:18:41:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1439","request_time":"3.864","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"a457bb18135ae43334b2751297ff1b59"} experiment_1 | {"level":"info","message":"DELETE /experiments/d876751a-b668-43b0-8ef3-9d3b934993ca 204 1194ms","method":"DELETE","requestID":"9680d52cf68d01a7a3915d1484dd6e2c","responseTime":1194,"status":204,"url":"/experiments/d876751a-b668-43b0-8ef3-9d3b934993ca"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1159ms","method":"POST","requestID":"94a93b4ffc4b065d939012449df48220","responseTime":1159,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:41: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":"1.162","http_referrer":"","http_user_agent":"node-fetch","requestID":"94a93b4ffc4b065d939012449df48220"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1158ms","method":"POST","requestID":"8c05172971f5206c7787c15972c04803","responseTime":1158,"status":200,"url":"/callbacks/experiment"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ2N30.hqYmmMW84CYt2s83ctyXtqxjSNOCFp0YUjrc9qboaq8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"bb1c77fc676f492c3273d8af8765d37c","responseTime":5,"status":200,"url":"/auth"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":51,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:07Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":51,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.967497,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:07Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454467,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ2N30.hqYmmMW84CYt2s83ctyXtqxjSNOCFp0YUjrc9qboaq8"} 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":"bb1c77fc676f492c3273d8af8765d37c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevices called"} gateway_1 | {"time_local":"20/Feb/2024:18:41: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":"1.167","http_referrer":"","http_user_agent":"node-fetch","requestID":"8c05172971f5206c7787c15972c04803"} gateway_1 | {"time_local":"20/Feb/2024:18:41:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1521","request_time":"3.192","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"cda5522ccc6037edd0d10b2670bcf15e"} device_1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/1db1a39a-5c97-4de3-8daa-4eb2fd06d3cf' 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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8696855a-faac-461d-a61d-c991bc71be1c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"7146e603-b9fd-45bb-909c-eae2df01b9b1","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454468.3229172} 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":"bb1c77fc676f492c3273d8af8765d37c"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2e4deb4a-9cb2-43ce-bc81-aa61067373d2","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454468.3314226} 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":"bb1c77fc676f492c3273d8af8765d37c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/075fcae0-846f-4e60-bee4-7e67c2dff53e' closed"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8696855a-faac-461d-a61d-c991bc71be1c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"ca1bc692-311d-419e-8573-d660524b2708","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454468.5122232} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f32901b6-b7f6-4bce-8365-bdc3a37885c6","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454468.5123687} authorization_1 | {"level":"info","message":"POST /relations/update 200 185ms","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":"bb1c77fc676f492c3273d8af8765d37c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":185}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8696855a-faac-461d-a61d-c991bc71be1c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8696855a-faac-461d-a61d-c991bc71be1c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:08.512195110Z"}]},"request_id":"e136a6fd-aab5-44ff-8228-ed9a4af9af7c","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454468.5197444} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bb1c77fc676f492c3273d8af8765d37c"},"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 578ms","method":"POST","requestID":"bb1c77fc676f492c3273d8af8765d37c","responseTime":578,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"20/Feb/2024:18:41: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.590","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bb1c77fc676f492c3273d8af8765d37c"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ2OH0.UCnA5S-yPakO9xHC6-TvdFmhAth2fCVtPLQi2ToT14o","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"95acc4fe7515173212d97f8e7769d7ac","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":52,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:08Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":52,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.148825,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:08Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454468,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ2OH0.UCnA5S-yPakO9xHC6-TvdFmhAth2fCVtPLQi2ToT14o"} 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":"95acc4fe7515173212d97f8e7769d7ac"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe083960c-ff13-47b3-a1e4-61376a5c5abf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"6c4f3a78-476b-4338-ad9c-b75ade898fef","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454468.6717207} 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":"95acc4fe7515173212d97f8e7769d7ac"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"398463d3-91be-4474-bc84-28164bf0a8e5","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454468.6799154} 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":"95acc4fe7515173212d97f8e7769d7ac"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe083960c-ff13-47b3-a1e4-61376a5c5abf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"a38b50f3-dd0f-49b8-bc28-5aa6df3c8002","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454468.8131208} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2baa1f39-1e57-497c-b330-7698397d1f0a","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454468.8135808} authorization_1 | {"level":"info","message":"POST /relations/update 200 137ms","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":"95acc4fe7515173212d97f8e7769d7ac"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":137}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe083960c-ff13-47b3-a1e4-61376a5c5abf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe083960c-ff13-47b3-a1e4-61376a5c5abf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:08.813100453Z"}]},"request_id":"57f5405a-fe74-4397-b93e-a202d601195c","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454468.82134} 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":"95acc4fe7515173212d97f8e7769d7ac"},"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 291ms","method":"POST","requestID":"95acc4fe7515173212d97f8e7769d7ac","responseTime":291,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"20/Feb/2024:18:41: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.326","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"95acc4fe7515173212d97f8e7769d7ac"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ2OX0.HZmA1B1CdIq2WKy09-9DGTK25pJHyF1KdJ8-vAn3U50","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3fa030addf791b6c44db0fafd5f273c9","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":53,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:09Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":53,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.249731,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:09Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8696855a-faac-461d-a61d-c991bc71be1c","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/8696855a-faac-461d-a61d-c991bc71be1c","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454469,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ2OX0.HZmA1B1CdIq2WKy09-9DGTK25pJHyF1KdJ8-vAn3U50"} 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":"3fa030addf791b6c44db0fafd5f273c9"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8696855a-faac-461d-a61d-c991bc71be1c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8696855a-faac-461d-a61d-c991bc71be1c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:08.512195110Z"}]},"request_id":"f0172eb8-cb56-4a6f-8df3-768628dc619e","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454469.3242736} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3fa030addf791b6c44db0fafd5f273c9"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9cf43e90-ae88-4289-b24c-3f79f39e7261","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454469.3309438} 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":"3fa030addf791b6c44db0fafd5f273c9"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8696855a-faac-461d-a61d-c991bc71be1c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8696855a-faac-461d-a61d-c991bc71be1c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:08.512195110Z"}]},"request_id":"4050cec8-3f58-41cc-889f-49f141d8fb54","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454469.4488711} 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":"3fa030addf791b6c44db0fafd5f273c9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"20/Feb/2024:18:41:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/8696855a-faac-461d-a61d-c991bc71be1c HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.147","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"3fa030addf791b6c44db0fafd5f273c9"} device_1 | {"level":"info","message":"PATCH /devices/8696855a-faac-461d-a61d-c991bc71be1c 200 142ms","method":"PATCH","requestID":"3fa030addf791b6c44db0fafd5f273c9","responseTime":142,"status":200,"url":"/devices/8696855a-faac-461d-a61d-c991bc71be1c"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ2OX0.HZmA1B1CdIq2WKy09-9DGTK25pJHyF1KdJ8-vAn3U50","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"6d9ac1a5f251b7f1889972f18caaaf1b","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":54,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:09Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":54,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.322432,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:09Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8696855a-faac-461d-a61d-c991bc71be1c","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/8696855a-faac-461d-a61d-c991bc71be1c","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454469,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ2OX0.HZmA1B1CdIq2WKy09-9DGTK25pJHyF1KdJ8-vAn3U50"} 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":"6d9ac1a5f251b7f1889972f18caaaf1b"},"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":"20/Feb/2024:18:41:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/8696855a-faac-461d-a61d-c991bc71be1c/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.116","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"6d9ac1a5f251b7f1889972f18caaaf1b"} device_1 | {"level":"info","message":"POST /devices/8696855a-faac-461d-a61d-c991bc71be1c/websocket 200 109ms","method":"POST","requestID":"6d9ac1a5f251b7f1889972f18caaaf1b","responseTime":109,"status":200,"url":"/devices/8696855a-faac-461d-a61d-c991bc71be1c/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/8696855a-faac-461d-a61d-c991bc71be1c' 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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"eeb4cea885c6296d23852e934c81bdfe","responseTime":1,"status":200,"url":"/auth"} gateway_1 | {"time_local":"20/Feb/2024:18:41:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/e083960c-ff13-47b3-a1e4-61376a5c5abf/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":"eeb4cea885c6296d23852e934c81bdfe"} device_1 | {"level":"info","message":"OPTIONS /devices/e083960c-ff13-47b3-a1e4-61376a5c5abf/websocket 200 1ms","method":"OPTIONS","requestID":"eeb4cea885c6296d23852e934c81bdfe","responseTime":1,"status":200,"url":"/devices/e083960c-ff13-47b3-a1e4-61376a5c5abf/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ3MH0.PIPRx7xf2arsXaK2V3S2eFNIx3u1GPnG5fPBj2cSm_g","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c3e09ca17cfb9bed45a922a96e110ea9","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":55,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:10Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":55,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.211582,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:10Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e083960c-ff13-47b3-a1e4-61376a5c5abf","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/e083960c-ff13-47b3-a1e4-61376a5c5abf","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454470,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ3MH0.PIPRx7xf2arsXaK2V3S2eFNIx3u1GPnG5fPBj2cSm_g"} 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":"c3e09ca17cfb9bed45a922a96e110ea9"},"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":"20/Feb/2024:18:41:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/e083960c-ff13-47b3-a1e4-61376a5c5abf/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.146","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"c3e09ca17cfb9bed45a922a96e110ea9"} device_1 | {"level":"info","message":"POST /devices/e083960c-ff13-47b3-a1e4-61376a5c5abf/websocket 200 141ms","method":"POST","requestID":"c3e09ca17cfb9bed45a922a96e110ea9","responseTime":141,"status":200,"url":"/devices/e083960c-ff13-47b3-a1e4-61376a5c5abf/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/e083960c-ff13-47b3-a1e4-61376a5c5abf' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ3MX0.geBh_Es528CFcIs9wIo18O1Zfg-TX-6ME7EJO9oghbQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"76de5534c7713f38b72296942762dc5c","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":56,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:11Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":56,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.238277,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:11Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8696855a-faac-461d-a61d-c991bc71be1c","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/8696855a-faac-461d-a61d-c991bc71be1c","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454471,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ3MX0.geBh_Es528CFcIs9wIo18O1Zfg-TX-6ME7EJO9oghbQ"} 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":"76de5534c7713f38b72296942762dc5c"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8696855a-faac-461d-a61d-c991bc71be1c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8696855a-faac-461d-a61d-c991bc71be1c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:08.512195110Z"}]},"request_id":"796af9da-77a3-48b2-b366-d0f63031a2a0","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454471.037968} 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":"76de5534c7713f38b72296942762dc5c"},"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":"20/Feb/2024:18:41:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8696855a-faac-461d-a61d-c991bc71be1c? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"76de5534c7713f38b72296942762dc5c"} device_1 | {"level":"info","message":"GET /devices/8696855a-faac-461d-a61d-c991bc71be1c? 200 17ms","method":"GET","requestID":"76de5534c7713f38b72296942762dc5c","responseTime":17,"status":200,"url":"/devices/8696855a-faac-461d-a61d-c991bc71be1c?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ3MX0.geBh_Es528CFcIs9wIo18O1Zfg-TX-6ME7EJO9oghbQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"be3ad8b846ea4cd78d1aee4abf2e9c11","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":57,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:11Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":57,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.145904,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:11Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e083960c-ff13-47b3-a1e4-61376a5c5abf","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/e083960c-ff13-47b3-a1e4-61376a5c5abf","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454471,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ3MX0.geBh_Es528CFcIs9wIo18O1Zfg-TX-6ME7EJO9oghbQ"} 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":"be3ad8b846ea4cd78d1aee4abf2e9c11"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe083960c-ff13-47b3-a1e4-61376a5c5abf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe083960c-ff13-47b3-a1e4-61376a5c5abf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:08.813100453Z"}]},"request_id":"27e1541c-a68d-4903-a811-c96e70636c12","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454471.0604131} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"be3ad8b846ea4cd78d1aee4abf2e9c11"},"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":"20/Feb/2024:18:41:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e083960c-ff13-47b3-a1e4-61376a5c5abf? 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":"be3ad8b846ea4cd78d1aee4abf2e9c11"} device_1 | {"level":"info","message":"GET /devices/e083960c-ff13-47b3-a1e4-61376a5c5abf? 200 13ms","method":"GET","requestID":"be3ad8b846ea4cd78d1aee4abf2e9c11","responseTime":13,"status":200,"url":"/devices/e083960c-ff13-47b3-a1e4-61376a5c5abf?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ3MX0.geBh_Es528CFcIs9wIo18O1Zfg-TX-6ME7EJO9oghbQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2688ba0b3775a7f2249a45843ccb1a14","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:48424","level":"info","msg":"Received request.","req_id":58,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:11Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":58,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.875286,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:11Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454471,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ3MX0.geBh_Es528CFcIs9wIo18O1Zfg-TX-6ME7EJO9oghbQ"} 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":"2688ba0b3775a7f2249a45843ccb1a14"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8aaf9ea4-1fb1-40e0-95b4-bdb6a7255c2a"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8aaf9ea4-1fb1-40e0-95b4-bdb6a7255c2a"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8aaf9ea4-1fb1-40e0-95b4-bdb6a7255c2a"},"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:48424","level":"info","msg":"Received request.","req_id":59,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:11Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":59,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.000709,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:11Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8696855a-faac-461d-a61d-c991bc71be1c","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/8696855a-faac-461d-a61d-c991bc71be1c","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454471,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ3MX0.geBh_Es528CFcIs9wIo18O1Zfg-TX-6ME7EJO9oghbQ"} 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":"9e44d9e0-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization_1 | {"client_addr":"127.0.0.1:46456","level":"info","msg":"Received request.","req_id":60,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:11Z"} authorization_1 | {"client_addr":"127.0.0.1:46456","level":"info","msg":"Sent response.","req_id":60,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.830527,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:11Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e083960c-ff13-47b3-a1e4-61376a5c5abf","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/e083960c-ff13-47b3-a1e4-61376a5c5abf","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454471,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ3MX0.geBh_Es528CFcIs9wIo18O1Zfg-TX-6ME7EJO9oghbQ"} authorization_1 | {"level":"info","message":"POST /authorize 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9e452800-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8696855a-faac-461d-a61d-c991bc71be1c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8696855a-faac-461d-a61d-c991bc71be1c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:08.512195110Z"}]},"request_id":"5b7a18b5-e4fa-4044-ae16-67297924a321","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454471.3120096} 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":"9e44d9e0-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe083960c-ff13-47b3-a1e4-61376a5c5abf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe083960c-ff13-47b3-a1e4-61376a5c5abf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:08.813100453Z"}]},"request_id":"8cec8ea0-210b-4444-a9b7-bc1af9726822","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454471.3166156} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/8696855a-faac-461d-a61d-c991bc71be1c? 200 23ms","method":"GET","requestID":"9e44d9e0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":23,"status":200,"url":"/devices/8696855a-faac-461d-a61d-c991bc71be1c?"} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9e452800-d01f-11ee-ad1d-cbf3af4d0136"},"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/e083960c-ff13-47b3-a1e4-61376a5c5abf? 200 26ms","method":"GET","requestID":"9e452800-d01f-11ee-ad1d-cbf3af4d0136","responseTime":26,"status":200,"url":"/devices/e083960c-ff13-47b3-a1e4-61376a5c5abf?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8aaf9ea4-1fb1-40e0-95b4-bdb6a7255c2a"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8aaf9ea4-1fb1-40e0-95b4-bdb6a7255c2a"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8aaf9ea4-1fb1-40e0-95b4-bdb6a7255c2a"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8aaf9ea4-1fb1-40e0-95b4-bdb6a7255c2a"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8aaf9ea4-1fb1-40e0-95b4-bdb6a7255c2a"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8aaf9ea4-1fb1-40e0-95b4-bdb6a7255c2a"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8aaf9ea4-1fb1-40e0-95b4-bdb6a7255c2a"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8aaf9ea4-1fb1-40e0-95b4-bdb6a7255c2a"},"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/8aaf9ea4-1fb1-40e0-95b4-bdb6a7255c2a"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":61,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:11Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":61,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.315081,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:11Z"} authorization_1 | {"client_addr":"127.0.0.1:46456","level":"info","msg":"Received request.","req_id":62,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:11Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8696855a-faac-461d-a61d-c991bc71be1c","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/8696855a-faac-461d-a61d-c991bc71be1c","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454471,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ3MX0.geBh_Es528CFcIs9wIo18O1Zfg-TX-6ME7EJO9oghbQ"} 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":"9e7d7610-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"client_addr":"127.0.0.1:46456","level":"info","msg":"Sent response.","req_id":62,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.377132,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:11Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e083960c-ff13-47b3-a1e4-61376a5c5abf","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/e083960c-ff13-47b3-a1e4-61376a5c5abf","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454471,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ3MX0.geBh_Es528CFcIs9wIo18O1Zfg-TX-6ME7EJO9oghbQ"} 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":"9e7dc430-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8696855a-faac-461d-a61d-c991bc71be1c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8696855a-faac-461d-a61d-c991bc71be1c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:08.512195110Z"}]},"request_id":"b9c97f48-63db-44ff-be41-133d104e246f","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454471.6792538} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9e7d7610-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe083960c-ff13-47b3-a1e4-61376a5c5abf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe083960c-ff13-47b3-a1e4-61376a5c5abf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:08.813100453Z"}]},"request_id":"1c5a3f66-d01a-42ac-b2ee-2fd967455e88","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454471.680032} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9e7dc430-d01f-11ee-ad1d-cbf3af4d0136"},"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/8696855a-faac-461d-a61d-c991bc71be1c? 200 20ms","method":"GET","requestID":"9e7d7610-d01f-11ee-ad1d-cbf3af4d0136","responseTime":20,"status":200,"url":"/devices/8696855a-faac-461d-a61d-c991bc71be1c?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/e083960c-ff13-47b3-a1e4-61376a5c5abf? 200 18ms","method":"GET","requestID":"9e7dc430-d01f-11ee-ad1d-cbf3af4d0136","responseTime":18,"status":200,"url":"/devices/e083960c-ff13-47b3-a1e4-61376a5c5abf?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":63,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:11Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":63,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.948333,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:11Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/8696855a-faac-461d-a61d-c991bc71be1c","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8696855a-faac-461d-a61d-c991bc71be1c","object_type":"device","rebac_allow":false,"scope_allow":false,"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":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9e811f90-d01f-11ee-ad1d-cbf3af4d0136"},"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/8696855a-faac-461d-a61d-c991bc71be1c/signaling 200 9ms","method":"POST","requestID":"9e811f90-d01f-11ee-ad1d-cbf3af4d0136","responseTime":9,"status":200,"url":"/devices/8696855a-faac-461d-a61d-c991bc71be1c/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":64,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:11Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":64,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.821232,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:11Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/e083960c-ff13-47b3-a1e4-61376a5c5abf","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e083960c-ff13-47b3-a1e4-61376a5c5abf","object_type":"device","rebac_allow":false,"scope_allow":false,"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":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9e82f450-d01f-11ee-ad1d-cbf3af4d0136"},"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/e083960c-ff13-47b3-a1e4-61376a5c5abf/signaling 200 8ms","method":"POST","requestID":"9e82f450-d01f-11ee-ad1d-cbf3af4d0136","responseTime":8,"status":200,"url":"/devices/e083960c-ff13-47b3-a1e4-61376a5c5abf/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8aaf9ea4-1fb1-40e0-95b4-bdb6a7255c2a"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8aaf9ea4-1fb1-40e0-95b4-bdb6a7255c2a"},"level":"info","message":"Building connection plan"} experiment_1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"0fae5c96-6dd6-42c1-bd2f-d9f41248f543"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"b04c8db3-d8cb-47a7-acae-a6e4c732e17b"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"603372f0-6ddc-4fdc-a181-dec6bede7ffc"}]},"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/8696855a-faac-461d-a61d-c991bc71be1c"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/e083960c-ff13-47b3-a1e4-61376a5c5abf"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":65,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:11Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":65,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.879822,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:11Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454471,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ3MX0.geBh_Es528CFcIs9wIo18O1Zfg-TX-6ME7EJO9oghbQ"} 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":"9e84c910-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8aaf9ea4-1fb1-40e0-95b4-bdb6a7255c2a#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8aaf9ea4-1fb1-40e0-95b4-bdb6a7255c2a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"b7a28020-65d4-42e8-a187-f8f95549985f","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454471.798664} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b957567f-22c1-468c-8794-ea8ef461c735","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454471.7986627} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","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%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"65efbf5d-7e2d-45a7-9bec-944528c8c3be","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454471.799478} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5e760405-d112-4dad-b489-4243f3e59a37","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454471.8000019} authorization_1 | {"level":"info","message":"POST /relations/update 200 128ms","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":"2688ba0b3775a7f2249a45843ccb1a14"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":128}} authorization_1 | {"level":"info","message":"POST /relations/update 200 81ms","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":"9e84c910-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":81}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/8aaf9ea4-1fb1-40e0-95b4-bdb6a7255c2a","user":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 742ms","method":"POST","requestID":"2688ba0b3775a7f2249a45843ccb1a14","responseTime":742,"status":201,"url":"/experiments?"} gateway_1 | {"time_local":"20/Feb/2024:18:41:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"0.748","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2688ba0b3775a7f2249a45843ccb1a14"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ3MX0.geBh_Es528CFcIs9wIo18O1Zfg-TX-6ME7EJO9oghbQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8c4f42c135bdfd70ed56237b18b49d1c","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":66,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:11Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":66,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.725594,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:11Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8696855a-faac-461d-a61d-c991bc71be1c","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/8696855a-faac-461d-a61d-c991bc71be1c","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454471,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ3MX0.geBh_Es528CFcIs9wIo18O1Zfg-TX-6ME7EJO9oghbQ"} 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":"8c4f42c135bdfd70ed56237b18b49d1c"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8696855a-faac-461d-a61d-c991bc71be1c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8696855a-faac-461d-a61d-c991bc71be1c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:08.512195110Z"}]},"request_id":"2d14b5a6-62b6-42c5-a9ae-d670f1b12c15","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454471.8319018} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8c4f42c135bdfd70ed56237b18b49d1c"},"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/2658a0f4-9b27-4659-8e46-db0bbeb52ced'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/2658a0f4-9b27-4659-8e46-db0bbeb52ced'"} 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 245ms","method":"POST","requestID":"9e84c910-d01f-11ee-ad1d-cbf3af4d0136","responseTime":245,"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":"20/Feb/2024:18:41:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8696855a-faac-461d-a61d-c991bc71be1c? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.144","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8c4f42c135bdfd70ed56237b18b49d1c"} device_1 | {"level":"info","message":"GET /devices/8696855a-faac-461d-a61d-c991bc71be1c? 200 138ms","method":"GET","requestID":"8c4f42c135bdfd70ed56237b18b49d1c","responseTime":138,"status":200,"url":"/devices/8696855a-faac-461d-a61d-c991bc71be1c?"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ3MX0.geBh_Es528CFcIs9wIo18O1Zfg-TX-6ME7EJO9oghbQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3d7f7dc0de0c94944406fc135c249bde","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":67,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:11Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":67,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.118228,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:11Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e083960c-ff13-47b3-a1e4-61376a5c5abf","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/e083960c-ff13-47b3-a1e4-61376a5c5abf","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454471,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ3MX0.geBh_Es528CFcIs9wIo18O1Zfg-TX-6ME7EJO9oghbQ"} 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":"3d7f7dc0de0c94944406fc135c249bde"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe083960c-ff13-47b3-a1e4-61376a5c5abf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe083960c-ff13-47b3-a1e4-61376a5c5abf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:08.813100453Z"}]},"request_id":"ee2c1a0b-19ce-4e7b-aec5-9fdc5a5fa0dd","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454471.9802227} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3d7f7dc0de0c94944406fc135c249bde"},"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/e083960c-ff13-47b3-a1e4-61376a5c5abf? 200 15ms","method":"GET","requestID":"3d7f7dc0de0c94944406fc135c249bde","responseTime":15,"status":200,"url":"/devices/e083960c-ff13-47b3-a1e4-61376a5c5abf?"} gateway_1 | {"time_local":"20/Feb/2024:18:41:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e083960c-ff13-47b3-a1e4-61376a5c5abf? 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":"3d7f7dc0de0c94944406fc135c249bde"} device_1 | {"data":{"peerconnection":"2658a0f4-9b27-4659-8e46-db0bbeb52ced","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8aaf9ea4-1fb1-40e0-95b4-bdb6a7255c2a"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/2658a0f4-9b27-4659-8e46-db0bbeb52ced' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"2658a0f4-9b27-4659-8e46-db0bbeb52ced","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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"c50c14d8a6767a9f0aa3cdecbecbabd0","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":"connecting","url":"http://localhost/devices/8696855a-faac-461d-a61d-c991bc71be1c"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/e083960c-ff13-47b3-a1e4-61376a5c5abf"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/2658a0f4-9b27-4659-8e46-db0bbeb52ced"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"c50c14d8a6767a9f0aa3cdecbecbabd0","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:41:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"c50c14d8a6767a9f0aa3cdecbecbabd0"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ3M30.w38txEPbfa-gVDIlj_l1OjKGOT6irFNJVjp0W8oQ0Fg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ded90dec686211b16bbdd3bc91681ea0","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/8aaf9ea4-1fb1-40e0-95b4-bdb6a7255c2a"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":68,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:13Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":68,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.161027,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:13Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/8aaf9ea4-1fb1-40e0-95b4-bdb6a7255c2a","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/8aaf9ea4-1fb1-40e0-95b4-bdb6a7255c2a","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454473,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ3M30.w38txEPbfa-gVDIlj_l1OjKGOT6irFNJVjp0W8oQ0Fg"} 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":"ded90dec686211b16bbdd3bc91681ea0"},"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/8aaf9ea4-1fb1-40e0-95b4-bdb6a7255c2a"} gateway_1 | {"time_local":"20/Feb/2024:18:41:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/8aaf9ea4-1fb1-40e0-95b4-bdb6a7255c2a HTTP/1.1","status": "200","body_bytes_sent":"882","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ded90dec686211b16bbdd3bc91681ea0"} experiment_1 | {"level":"info","message":"GET /experiments/8aaf9ea4-1fb1-40e0-95b4-bdb6a7255c2a 200 18ms","method":"GET","requestID":"ded90dec686211b16bbdd3bc91681ea0","responseTime":18,"status":200,"url":"/experiments/8aaf9ea4-1fb1-40e0-95b4-bdb6a7255c2a"} device_1 | {"data":{"peerconnection":"2658a0f4-9b27-4659-8e46-db0bbeb52ced","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ3M30.w38txEPbfa-gVDIlj_l1OjKGOT6irFNJVjp0W8oQ0Fg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"ca4f5e9bd6a98863153c9bdd2f048164","responseTime":6,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/8aaf9ea4-1fb1-40e0-95b4-bdb6a7255c2a"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":69,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:13Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":69,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.184107,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:13Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/8aaf9ea4-1fb1-40e0-95b4-bdb6a7255c2a","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/8aaf9ea4-1fb1-40e0-95b4-bdb6a7255c2a","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454473,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ3M30.w38txEPbfa-gVDIlj_l1OjKGOT6irFNJVjp0W8oQ0Fg"} 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":"ca4f5e9bd6a98863153c9bdd2f048164"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device_1 | {"data":{"peerconnection":"2658a0f4-9b27-4659-8e46-db0bbeb52ced","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/8aaf9ea4-1fb1-40e0-95b4-bdb6a7255c2a"} gateway_1 | {"time_local":"20/Feb/2024:18:41:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/8aaf9ea4-1fb1-40e0-95b4-bdb6a7255c2a HTTP/1.1","status": "200","body_bytes_sent":"882","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ca4f5e9bd6a98863153c9bdd2f048164"} experiment_1 | {"level":"info","message":"GET /experiments/8aaf9ea4-1fb1-40e0-95b4-bdb6a7255c2a 200 19ms","method":"GET","requestID":"ca4f5e9bd6a98863153c9bdd2f048164","responseTime":19,"status":200,"url":"/experiments/8aaf9ea4-1fb1-40e0-95b4-bdb6a7255c2a"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ3M30.w38txEPbfa-gVDIlj_l1OjKGOT6irFNJVjp0W8oQ0Fg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"8589add62b11d0d45fd5911cfef9f8c1","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/8aaf9ea4-1fb1-40e0-95b4-bdb6a7255c2a"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":70,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:13Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":70,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.284168,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:13Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/8aaf9ea4-1fb1-40e0-95b4-bdb6a7255c2a","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/8aaf9ea4-1fb1-40e0-95b4-bdb6a7255c2a","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454473,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ3M30.w38txEPbfa-gVDIlj_l1OjKGOT6irFNJVjp0W8oQ0Fg"} 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":"8589add62b11d0d45fd5911cfef9f8c1"},"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/8aaf9ea4-1fb1-40e0-95b4-bdb6a7255c2a"} gateway_1 | {"time_local":"20/Feb/2024:18:41:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/8aaf9ea4-1fb1-40e0-95b4-bdb6a7255c2a HTTP/1.1","status": "200","body_bytes_sent":"882","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8589add62b11d0d45fd5911cfef9f8c1"} experiment_1 | {"level":"info","message":"GET /experiments/8aaf9ea4-1fb1-40e0-95b4-bdb6a7255c2a 200 17ms","method":"GET","requestID":"8589add62b11d0d45fd5911cfef9f8c1","responseTime":17,"status":200,"url":"/experiments/8aaf9ea4-1fb1-40e0-95b4-bdb6a7255c2a"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/2658a0f4-9b27-4659-8e46-db0bbeb52ced' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"2658a0f4-9b27-4659-8e46-db0bbeb52ced","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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"228280a18d44958502786dc199f78d14","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/8696855a-faac-461d-a61d-c991bc71be1c"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/e083960c-ff13-47b3-a1e4-61376a5c5abf"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/2658a0f4-9b27-4659-8e46-db0bbeb52ced"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":71,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:13Z"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","contextual_tuples":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F2658a0f4-9b27-4659-8e46-db0bbeb52ced","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c1d8193a-9548-430b-a5fc-2579956c11ab","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454473.4571853} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":71,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.719104,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:13Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/2658a0f4-9b27-4659-8e46-db0bbeb52ced","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/2658a0f4-9b27-4659-8e46-db0bbeb52ced","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9f8dfbb0-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ3M30.w38txEPbfa-gVDIlj_l1OjKGOT6irFNJVjp0W8oQ0Fg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"ccda096530c045caa4a2ea41a78d8dbb","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/8aaf9ea4-1fb1-40e0-95b4-bdb6a7255c2a"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":72,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:13Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":72,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.16824,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:13Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/8aaf9ea4-1fb1-40e0-95b4-bdb6a7255c2a","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/8aaf9ea4-1fb1-40e0-95b4-bdb6a7255c2a","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454473,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ3M30.w38txEPbfa-gVDIlj_l1OjKGOT6irFNJVjp0W8oQ0Fg"} 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":"ccda096530c045caa4a2ea41a78d8dbb"},"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/8aaf9ea4-1fb1-40e0-95b4-bdb6a7255c2a"} gateway_1 | {"time_local":"20/Feb/2024:18:41:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/8aaf9ea4-1fb1-40e0-95b4-bdb6a7255c2a HTTP/1.1","status": "200","body_bytes_sent":"882","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ccda096530c045caa4a2ea41a78d8dbb"} experiment_1 | {"level":"info","message":"GET /experiments/8aaf9ea4-1fb1-40e0-95b4-bdb6a7255c2a 200 17ms","method":"GET","requestID":"ccda096530c045caa4a2ea41a78d8dbb","responseTime":17,"status":200,"url":"/experiments/8aaf9ea4-1fb1-40e0-95b4-bdb6a7255c2a"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"GET /peerconnections/2658a0f4-9b27-4659-8e46-db0bbeb52ced 200 135ms","method":"GET","requestID":"9f8dfbb0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":135,"status":200,"url":"/peerconnections/2658a0f4-9b27-4659-8e46-db0bbeb52ced"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ3M30.w38txEPbfa-gVDIlj_l1OjKGOT6irFNJVjp0W8oQ0Fg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"274c58cc61b154bac0a354e3942457ff","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/8aaf9ea4-1fb1-40e0-95b4-bdb6a7255c2a"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":73,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:13Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":73,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.261256,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:13Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/8aaf9ea4-1fb1-40e0-95b4-bdb6a7255c2a","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/8aaf9ea4-1fb1-40e0-95b4-bdb6a7255c2a","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454473,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ3M30.w38txEPbfa-gVDIlj_l1OjKGOT6irFNJVjp0W8oQ0Fg"} 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":"274c58cc61b154bac0a354e3942457ff"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 269ms","method":"POST","requestID":"228280a18d44958502786dc199f78d14","responseTime":269,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:41: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.273","http_referrer":"","http_user_agent":"node-fetch","requestID":"228280a18d44958502786dc199f78d14"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/8aaf9ea4-1fb1-40e0-95b4-bdb6a7255c2a"} gateway_1 | {"time_local":"20/Feb/2024:18:41:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/8aaf9ea4-1fb1-40e0-95b4-bdb6a7255c2a HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.065","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"274c58cc61b154bac0a354e3942457ff"} experiment_1 | {"level":"info","message":"GET /experiments/8aaf9ea4-1fb1-40e0-95b4-bdb6a7255c2a 200 60ms","method":"GET","requestID":"274c58cc61b154bac0a354e3942457ff","responseTime":60,"status":200,"url":"/experiments/8aaf9ea4-1fb1-40e0-95b4-bdb6a7255c2a"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ3M30.w38txEPbfa-gVDIlj_l1OjKGOT6irFNJVjp0W8oQ0Fg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"b0f0268f3f17db634b495276a539b1e2","responseTime":6,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/8aaf9ea4-1fb1-40e0-95b4-bdb6a7255c2a"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":74,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:13Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":74,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.330556,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:13Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/8aaf9ea4-1fb1-40e0-95b4-bdb6a7255c2a","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/8aaf9ea4-1fb1-40e0-95b4-bdb6a7255c2a","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454473,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ3M30.w38txEPbfa-gVDIlj_l1OjKGOT6irFNJVjp0W8oQ0Fg"} 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":"b0f0268f3f17db634b495276a539b1e2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8aaf9ea4-1fb1-40e0-95b4-bdb6a7255c2a"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":75,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:13Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":75,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.150702,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:13Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/2658a0f4-9b27-4659-8e46-db0bbeb52ced","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"peerconnection:http://localhost/peerconnections/2658a0f4-9b27-4659-8e46-db0bbeb52ced","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454473,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ3M30.w38txEPbfa-gVDIlj_l1OjKGOT6irFNJVjp0W8oQ0Fg"} 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":"9fbab100-d01f-11ee-ad1d-cbf3af4d0136"},"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/2658a0f4-9b27-4659-8e46-db0bbeb52ced' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/2658a0f4-9b27-4659-8e46-db0bbeb52ced' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"2658a0f4-9b27-4659-8e46-db0bbeb52ced","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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"da741eca525e311d67e2a61e8566ded6","responseTime":1,"status":200,"url":"/auth"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F2658a0f4-9b27-4659-8e46-db0bbeb52ced': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F2658a0f4-9b27-4659-8e46-db0bbeb52ced","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]},"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":null},"raw_response":{},"request_id":"ccd02bfd-607c-46e8-9f48-a6716c9de2dd","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454473.7665763} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"25326c52-1356-4616-8079-b88789f934b9","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454473.7670436} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/8696855a-faac-461d-a61d-c991bc71be1c"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/e083960c-ff13-47b3-a1e4-61376a5c5abf"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/2658a0f4-9b27-4659-8e46-db0bbeb52ced"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"7bc1d4e4caac9110f09cbacf32ded861","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":"9fbab100-d01f-11ee-ad1d-cbf3af4d0136"},"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":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/8696855a-faac-461d-a61d-c991bc71be1c"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/e083960c-ff13-47b3-a1e4-61376a5c5abf"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/2658a0f4-9b27-4659-8e46-db0bbeb52ced"}}},"level":"info","message":"received a callback"} device_1 | {"data":{"peerconnection":"2658a0f4-9b27-4659-8e46-db0bbeb52ced","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/2658a0f4-9b27-4659-8e46-db0bbeb52ced 204 285ms","method":"DELETE","requestID":"9fbab100-d01f-11ee-ad1d-cbf3af4d0136","responseTime":285,"status":204,"url":"/peerconnections/2658a0f4-9b27-4659-8e46-db0bbeb52ced"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8aaf9ea4-1fb1-40e0-95b4-bdb6a7255c2a"},"level":"info","message":"Successfully finished experiment"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8aaf9ea4-1fb1-40e0-95b4-bdb6a7255c2a': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8aaf9ea4-1fb1-40e0-95b4-bdb6a7255c2a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]},"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":null},"raw_response":{},"request_id":"4b262ac4-9959-4b12-b873-711bf64acd91","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454474.6414747} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a6696637-6ceb-46a0-9392-4c35d48e7f85","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454474.6420152} authorization_1 | {"level":"info","message":"POST /relations/update 200 203ms","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":"b0f0268f3f17db634b495276a539b1e2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":203}} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/8aaf9ea4-1fb1-40e0-95b4-bdb6a7255c2a"} gateway_1 | {"time_local":"20/Feb/2024:18:41:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/8aaf9ea4-1fb1-40e0-95b4-bdb6a7255c2a HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"1.548","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b0f0268f3f17db634b495276a539b1e2"} gateway_1 | {"time_local":"20/Feb/2024:18:41:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1756","request_time":"5.696","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"e1a765d8b3fe2784f8bebf548e2bb95d"} experiment_1 | {"level":"info","message":"DELETE /experiments/8aaf9ea4-1fb1-40e0-95b4-bdb6a7255c2a 204 1543ms","method":"DELETE","requestID":"b0f0268f3f17db634b495276a539b1e2","responseTime":1543,"status":204,"url":"/experiments/8aaf9ea4-1fb1-40e0-95b4-bdb6a7255c2a"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1508ms","method":"POST","requestID":"da741eca525e311d67e2a61e8566ded6","responseTime":1508,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:41:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"1.512","http_referrer":"","http_user_agent":"node-fetch","requestID":"da741eca525e311d67e2a61e8566ded6"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1508ms","method":"POST","requestID":"7bc1d4e4caac9110f09cbacf32ded861","responseTime":1508,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:41:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"1.513","http_referrer":"","http_user_agent":"node-fetch","requestID":"7bc1d4e4caac9110f09cbacf32ded861"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ3NX0.CfmSq7-C5vX9TASHPr9UaEYq2DCbe--2OAenHjqPXgs","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"e85d0ab27da8b195d408e13ce3c1d161","responseTime":5,"status":200,"url":"/auth"} gateway_1 | {"time_local":"20/Feb/2024:18:41:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1516","request_time":"4.368","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"6b864e5e8133415b882eefd8ed6cb554"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":76,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:15Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":76,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.555316,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:15Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454475,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ3NX0.CfmSq7-C5vX9TASHPr9UaEYq2DCbe--2OAenHjqPXgs"} 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":"e85d0ab27da8b195d408e13ce3c1d161"},"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/8696855a-faac-461d-a61d-c991bc71be1c' 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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa96a6e60-e5fd-4425-8889-ca5a530f85f6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d53b42bd-9c91-4d72-a13c-b473e0f6248b","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454475.7269897} 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":"e85d0ab27da8b195d408e13ce3c1d161"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"86bf77c5-eac7-4108-83b0-4c27639a8ff0","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454475.7351847} 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":"e85d0ab27da8b195d408e13ce3c1d161"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/e083960c-ff13-47b3-a1e4-61376a5c5abf' closed"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa96a6e60-e5fd-4425-8889-ca5a530f85f6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"a1e5d3ec-a2f0-49db-a1de-85e85c533490","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454475.907269} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3f66eff8-18fe-4571-8b4a-03ed2099b402","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454475.9078548} authorization_1 | {"level":"info","message":"POST /relations/update 200 179ms","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":"e85d0ab27da8b195d408e13ce3c1d161"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":179}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa96a6e60-e5fd-4425-8889-ca5a530f85f6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa96a6e60-e5fd-4425-8889-ca5a530f85f6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:15.907243125Z"}]},"request_id":"6959a636-b5bc-4716-aa83-d6a1a2d790ee","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454475.9176629} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e85d0ab27da8b195d408e13ce3c1d161"},"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 635ms","method":"POST","requestID":"e85d0ab27da8b195d408e13ce3c1d161","responseTime":635,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"20/Feb/2024:18:41:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.648","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e85d0ab27da8b195d408e13ce3c1d161"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ3NX0.CfmSq7-C5vX9TASHPr9UaEYq2DCbe--2OAenHjqPXgs","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ad55a86f8a790253d0e2285eb58be64f","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":77,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:15Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":77,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.908957,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:15Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454475,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ3NX0.CfmSq7-C5vX9TASHPr9UaEYq2DCbe--2OAenHjqPXgs"} 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":"ad55a86f8a790253d0e2285eb58be64f"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6d590fd-9f1b-4a17-b226-95e42e1cc031","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"7a074862-11f5-4dd9-9a23-cabaadea2cfa","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454476.0671208} 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":"ad55a86f8a790253d0e2285eb58be64f"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"33096f9f-2422-43df-8c4e-5090e79bbb55","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454476.0764072} 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":"ad55a86f8a790253d0e2285eb58be64f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6d590fd-9f1b-4a17-b226-95e42e1cc031","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"0a47f9f2-1192-4b73-8673-c33ff782741f","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454476.200532} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f838c099-9a3f-49b8-b874-88c31e4f24d6","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454476.2009478} authorization_1 | {"level":"info","message":"POST /relations/update 200 128ms","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":"ad55a86f8a790253d0e2285eb58be64f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":128}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6d590fd-9f1b-4a17-b226-95e42e1cc031","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6d590fd-9f1b-4a17-b226-95e42e1cc031","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:16.200512148Z"}]},"request_id":"0c982972-2314-4d95-b334-c0b819f49559","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454476.2102773} 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":"ad55a86f8a790253d0e2285eb58be64f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 288ms","method":"POST","requestID":"ad55a86f8a790253d0e2285eb58be64f","responseTime":288,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"20/Feb/2024:18:41:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.321","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ad55a86f8a790253d0e2285eb58be64f"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ3Nn0.D-4lIGbJ8EuoNAUTjVpHr1u5mCvr107s-JGnvIWJP_k","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"24f4f83fb15961c61aa7b07f7687a5fc","responseTime":5,"status":200,"url":"/auth"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ3Nn0.D-4lIGbJ8EuoNAUTjVpHr1u5mCvr107s-JGnvIWJP_k","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ee8271211a87560b98d38faf93f33321","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:48424","level":"info","msg":"Received request.","req_id":78,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:16Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":78,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.822951,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:16Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a96a6e60-e5fd-4425-8889-ca5a530f85f6","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/a96a6e60-e5fd-4425-8889-ca5a530f85f6","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454476,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ3Nn0.D-4lIGbJ8EuoNAUTjVpHr1u5mCvr107s-JGnvIWJP_k"} 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":"24f4f83fb15961c61aa7b07f7687a5fc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:42512","level":"info","msg":"Received request.","req_id":79,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:16Z"} authorization_1 | {"client_addr":"127.0.0.1:42512","level":"info","msg":"Sent response.","req_id":79,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.754421,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:16Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d6d590fd-9f1b-4a17-b226-95e42e1cc031","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/d6d590fd-9f1b-4a17-b226-95e42e1cc031","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454476,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ3Nn0.D-4lIGbJ8EuoNAUTjVpHr1u5mCvr107s-JGnvIWJP_k"} 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":"ee8271211a87560b98d38faf93f33321"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa96a6e60-e5fd-4425-8889-ca5a530f85f6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa96a6e60-e5fd-4425-8889-ca5a530f85f6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:15.907243125Z"}]},"request_id":"058269e8-55ad-4b1f-a387-194316bc9908","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454476.691867} 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":"24f4f83fb15961c61aa7b07f7687a5fc"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6d590fd-9f1b-4a17-b226-95e42e1cc031","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6d590fd-9f1b-4a17-b226-95e42e1cc031","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:16.200512148Z"}]},"request_id":"75d34531-1b5a-4da2-8db7-81e49f06cbed","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454476.6961608} 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":"ee8271211a87560b98d38faf93f33321"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"faeda342-fc23-4a9b-acbf-6fe85582c950","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454476.6984665} 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":"24f4f83fb15961c61aa7b07f7687a5fc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4cc94ff0-73d6-4d74-ba58-818a156d1131","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454476.7034163} 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":"ee8271211a87560b98d38faf93f33321"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa96a6e60-e5fd-4425-8889-ca5a530f85f6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa96a6e60-e5fd-4425-8889-ca5a530f85f6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:15.907243125Z"}]},"request_id":"5fd5c903-4d93-4833-b20a-ffae2caa400c","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454476.8525455} 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":"24f4f83fb15961c61aa7b07f7687a5fc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"PATCH /devices/a96a6e60-e5fd-4425-8889-ca5a530f85f6 200 178ms","method":"PATCH","requestID":"24f4f83fb15961c61aa7b07f7687a5fc","responseTime":178,"status":200,"url":"/devices/a96a6e60-e5fd-4425-8889-ca5a530f85f6"} gateway_1 | {"time_local":"20/Feb/2024:18:41:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/a96a6e60-e5fd-4425-8889-ca5a530f85f6 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.185","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"24f4f83fb15961c61aa7b07f7687a5fc"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ3Nn0.D-4lIGbJ8EuoNAUTjVpHr1u5mCvr107s-JGnvIWJP_k","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"b0eb26ce16bce52c125b2c7a13e1cefb","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":80,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:16Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":80,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.197414,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:16Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a96a6e60-e5fd-4425-8889-ca5a530f85f6","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/a96a6e60-e5fd-4425-8889-ca5a530f85f6","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454476,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ3Nn0.D-4lIGbJ8EuoNAUTjVpHr1u5mCvr107s-JGnvIWJP_k"} 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":"b0eb26ce16bce52c125b2c7a13e1cefb"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6d590fd-9f1b-4a17-b226-95e42e1cc031","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6d590fd-9f1b-4a17-b226-95e42e1cc031","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:16.200512148Z"}]},"request_id":"9dce5622-c4fd-4b9c-be7d-1cb42b03434f","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454477.0113742} 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":"ee8271211a87560b98d38faf93f33321"},"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":"20/Feb/2024:18:41:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/d6d590fd-9f1b-4a17-b226-95e42e1cc031 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.342","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"ee8271211a87560b98d38faf93f33321"} device_1 | {"level":"info","message":"PATCH /devices/d6d590fd-9f1b-4a17-b226-95e42e1cc031 200 335ms","method":"PATCH","requestID":"ee8271211a87560b98d38faf93f33321","responseTime":335,"status":200,"url":"/devices/d6d590fd-9f1b-4a17-b226-95e42e1cc031"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ3N30.eRWI6V3KFJ00H-9BrRAD_ZZAyiqc5XR_K454dlOBI0M","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f3c3d99c4fd49598386ccd479f52a584","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":81,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:17Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":81,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.934556,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:17Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d6d590fd-9f1b-4a17-b226-95e42e1cc031","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/d6d590fd-9f1b-4a17-b226-95e42e1cc031","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454477,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ3N30.eRWI6V3KFJ00H-9BrRAD_ZZAyiqc5XR_K454dlOBI0M"} 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":"f3c3d99c4fd49598386ccd479f52a584"},"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":"20/Feb/2024:18:41:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/a96a6e60-e5fd-4425-8889-ca5a530f85f6/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.342","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"b0eb26ce16bce52c125b2c7a13e1cefb"} device_1 | {"level":"info","message":"POST /devices/a96a6e60-e5fd-4425-8889-ca5a530f85f6/websocket 200 336ms","method":"POST","requestID":"b0eb26ce16bce52c125b2c7a13e1cefb","responseTime":336,"status":200,"url":"/devices/a96a6e60-e5fd-4425-8889-ca5a530f85f6/websocket"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"20/Feb/2024:18:41:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/d6d590fd-9f1b-4a17-b226-95e42e1cc031/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.368","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"f3c3d99c4fd49598386ccd479f52a584"} device_1 | {"level":"info","message":"POST /devices/d6d590fd-9f1b-4a17-b226-95e42e1cc031/websocket 200 363ms","method":"POST","requestID":"f3c3d99c4fd49598386ccd479f52a584","responseTime":363,"status":200,"url":"/devices/d6d590fd-9f1b-4a17-b226-95e42e1cc031/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/a96a6e60-e5fd-4425-8889-ca5a530f85f6' connected"} device_1 | {"level":"info","message":"device 'http://localhost/devices/d6d590fd-9f1b-4a17-b226-95e42e1cc031' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ3N30.eRWI6V3KFJ00H-9BrRAD_ZZAyiqc5XR_K454dlOBI0M","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"96962a2d52f1de3a3698809904d0b10e","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":82,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:17Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":82,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.265848,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:17Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a96a6e60-e5fd-4425-8889-ca5a530f85f6","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/a96a6e60-e5fd-4425-8889-ca5a530f85f6","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454477,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ3N30.eRWI6V3KFJ00H-9BrRAD_ZZAyiqc5XR_K454dlOBI0M"} 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":"96962a2d52f1de3a3698809904d0b10e"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa96a6e60-e5fd-4425-8889-ca5a530f85f6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa96a6e60-e5fd-4425-8889-ca5a530f85f6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:15.907243125Z"}]},"request_id":"2ded2d2f-21bf-4db5-a466-19d6e4f42cbb","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454477.7252035} 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":"96962a2d52f1de3a3698809904d0b10e"},"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":"20/Feb/2024:18:41:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a96a6e60-e5fd-4425-8889-ca5a530f85f6? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"96962a2d52f1de3a3698809904d0b10e"} device_1 | {"level":"info","message":"GET /devices/a96a6e60-e5fd-4425-8889-ca5a530f85f6? 200 21ms","method":"GET","requestID":"96962a2d52f1de3a3698809904d0b10e","responseTime":21,"status":200,"url":"/devices/a96a6e60-e5fd-4425-8889-ca5a530f85f6?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ3N30.eRWI6V3KFJ00H-9BrRAD_ZZAyiqc5XR_K454dlOBI0M","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"aa53d03e9c68a434e20be0bd22daddf0","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":83,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:17Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":83,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.004229,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:17Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d6d590fd-9f1b-4a17-b226-95e42e1cc031","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/d6d590fd-9f1b-4a17-b226-95e42e1cc031","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454477,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ3N30.eRWI6V3KFJ00H-9BrRAD_ZZAyiqc5XR_K454dlOBI0M"} 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":"aa53d03e9c68a434e20be0bd22daddf0"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6d590fd-9f1b-4a17-b226-95e42e1cc031","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6d590fd-9f1b-4a17-b226-95e42e1cc031","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:16.200512148Z"}]},"request_id":"b74f008c-3b9b-4d29-91cb-a230855bb438","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454477.7536018} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aa53d03e9c68a434e20be0bd22daddf0"},"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":"20/Feb/2024:18:41:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d6d590fd-9f1b-4a17-b226-95e42e1cc031? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"aa53d03e9c68a434e20be0bd22daddf0"} device_1 | {"level":"info","message":"GET /devices/d6d590fd-9f1b-4a17-b226-95e42e1cc031? 200 20ms","method":"GET","requestID":"aa53d03e9c68a434e20be0bd22daddf0","responseTime":20,"status":200,"url":"/devices/d6d590fd-9f1b-4a17-b226-95e42e1cc031?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ3N30.eRWI6V3KFJ00H-9BrRAD_ZZAyiqc5XR_K454dlOBI0M","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7b94c5203638697f6abc4377b657575b","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:48424","level":"info","msg":"Received request.","req_id":84,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:17Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":84,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.168114,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:17Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454477,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ3N30.eRWI6V3KFJ00H-9BrRAD_ZZAyiqc5XR_K454dlOBI0M"} 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":"7b94c5203638697f6abc4377b657575b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e5dca27f-a7e6-4e88-8c85-10602dcbf689"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e5dca27f-a7e6-4e88-8c85-10602dcbf689"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e5dca27f-a7e6-4e88-8c85-10602dcbf689"},"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:48424","level":"info","msg":"Received request.","req_id":85,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:18Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":85,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.280799,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:18Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a96a6e60-e5fd-4425-8889-ca5a530f85f6","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/a96a6e60-e5fd-4425-8889-ca5a530f85f6","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454477,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ3N30.eRWI6V3KFJ00H-9BrRAD_ZZAyiqc5XR_K454dlOBI0M"} 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":"a24e0610-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:42512","level":"info","msg":"Received request.","req_id":86,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:18Z"} authorization_1 | {"client_addr":"127.0.0.1:42512","level":"info","msg":"Sent response.","req_id":86,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.129987,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:18Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d6d590fd-9f1b-4a17-b226-95e42e1cc031","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/d6d590fd-9f1b-4a17-b226-95e42e1cc031","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454477,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ3N30.eRWI6V3KFJ00H-9BrRAD_ZZAyiqc5XR_K454dlOBI0M"} 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":"a24e5430-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa96a6e60-e5fd-4425-8889-ca5a530f85f6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa96a6e60-e5fd-4425-8889-ca5a530f85f6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:15.907243125Z"}]},"request_id":"e6b1733f-3ace-4cfd-8ea0-82e1395c4b91","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454478.078294} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a24e0610-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6d590fd-9f1b-4a17-b226-95e42e1cc031","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6d590fd-9f1b-4a17-b226-95e42e1cc031","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:16.200512148Z"}]},"request_id":"0372a96f-4a81-4988-8475-406cfd6c7507","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454478.079168} 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":"a24e5430-d01f-11ee-ad1d-cbf3af4d0136"},"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/a96a6e60-e5fd-4425-8889-ca5a530f85f6? 200 20ms","method":"GET","requestID":"a24e0610-d01f-11ee-ad1d-cbf3af4d0136","responseTime":20,"status":200,"url":"/devices/a96a6e60-e5fd-4425-8889-ca5a530f85f6?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/d6d590fd-9f1b-4a17-b226-95e42e1cc031? 200 19ms","method":"GET","requestID":"a24e5430-d01f-11ee-ad1d-cbf3af4d0136","responseTime":19,"status":200,"url":"/devices/d6d590fd-9f1b-4a17-b226-95e42e1cc031?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e5dca27f-a7e6-4e88-8c85-10602dcbf689"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e5dca27f-a7e6-4e88-8c85-10602dcbf689"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e5dca27f-a7e6-4e88-8c85-10602dcbf689"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e5dca27f-a7e6-4e88-8c85-10602dcbf689"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e5dca27f-a7e6-4e88-8c85-10602dcbf689"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e5dca27f-a7e6-4e88-8c85-10602dcbf689"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e5dca27f-a7e6-4e88-8c85-10602dcbf689"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e5dca27f-a7e6-4e88-8c85-10602dcbf689"},"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:48424","level":"info","msg":"Received request.","req_id":87,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:18Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":87,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.153367,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:18Z"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e5dca27f-a7e6-4e88-8c85-10602dcbf689"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a96a6e60-e5fd-4425-8889-ca5a530f85f6","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/a96a6e60-e5fd-4425-8889-ca5a530f85f6","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454477,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ3N30.eRWI6V3KFJ00H-9BrRAD_ZZAyiqc5XR_K454dlOBI0M"} 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":"a28801d0-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:42512","level":"info","msg":"Received request.","req_id":88,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:18Z"} authorization_1 | {"client_addr":"127.0.0.1:42512","level":"info","msg":"Sent response.","req_id":88,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.785235,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:18Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d6d590fd-9f1b-4a17-b226-95e42e1cc031","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/d6d590fd-9f1b-4a17-b226-95e42e1cc031","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454477,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ3N30.eRWI6V3KFJ00H-9BrRAD_ZZAyiqc5XR_K454dlOBI0M"} 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":"a2884ff0-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa96a6e60-e5fd-4425-8889-ca5a530f85f6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa96a6e60-e5fd-4425-8889-ca5a530f85f6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:15.907243125Z"}]},"request_id":"90ea96f5-1872-4bec-9fa7-49c64c2b555d","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454478.457854} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a28801d0-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6d590fd-9f1b-4a17-b226-95e42e1cc031","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6d590fd-9f1b-4a17-b226-95e42e1cc031","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:16.200512148Z"}]},"request_id":"9f76e708-f292-46ea-9826-13f449045b57","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454478.458563} 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":"a2884ff0-d01f-11ee-ad1d-cbf3af4d0136"},"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/a96a6e60-e5fd-4425-8889-ca5a530f85f6? 200 19ms","method":"GET","requestID":"a28801d0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":19,"status":200,"url":"/devices/a96a6e60-e5fd-4425-8889-ca5a530f85f6?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/d6d590fd-9f1b-4a17-b226-95e42e1cc031? 200 18ms","method":"GET","requestID":"a2884ff0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":18,"status":200,"url":"/devices/d6d590fd-9f1b-4a17-b226-95e42e1cc031?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":89,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:18Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":89,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.738158,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:18Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/a96a6e60-e5fd-4425-8889-ca5a530f85f6","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a96a6e60-e5fd-4425-8889-ca5a530f85f6","object_type":"device","rebac_allow":false,"scope_allow":false,"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":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a28b5d30-d01f-11ee-ad1d-cbf3af4d0136"},"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/a96a6e60-e5fd-4425-8889-ca5a530f85f6/signaling 200 8ms","method":"POST","requestID":"a28b5d30-d01f-11ee-ad1d-cbf3af4d0136","responseTime":8,"status":200,"url":"/devices/a96a6e60-e5fd-4425-8889-ca5a530f85f6/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":90,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:18Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":90,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.845799,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:18Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/d6d590fd-9f1b-4a17-b226-95e42e1cc031","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d6d590fd-9f1b-4a17-b226-95e42e1cc031","object_type":"device","rebac_allow":false,"scope_allow":false,"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":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a28d0ae0-d01f-11ee-ad1d-cbf3af4d0136"},"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/d6d590fd-9f1b-4a17-b226-95e42e1cc031/signaling 200 9ms","method":"POST","requestID":"a28d0ae0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":9,"status":200,"url":"/devices/d6d590fd-9f1b-4a17-b226-95e42e1cc031/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e5dca27f-a7e6-4e88-8c85-10602dcbf689"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e5dca27f-a7e6-4e88-8c85-10602dcbf689"},"level":"info","message":"Building connection plan"} experiment_1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"b3152014-d6e6-460e-b7a8-a0622b5d03f8"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"73b6a1a6-4611-45e1-8e67-ed92e663878f"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"633172dd-dc56-43c3-8a94-072e6d03c81d"}]},"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/a96a6e60-e5fd-4425-8889-ca5a530f85f6"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/d6d590fd-9f1b-4a17-b226-95e42e1cc031"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":91,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:18Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":91,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.199447,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:18Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454477,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ3N30.eRWI6V3KFJ00H-9BrRAD_ZZAyiqc5XR_K454dlOBI0M"} 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":"a28f2dc0-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe5dca27f-a7e6-4e88-8c85-10602dcbf689#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe5dca27f-a7e6-4e88-8c85-10602dcbf689","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"c9251e2c-637a-4824-8a93-0b8fc2deb229","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454478.560544} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f2a5a6d5-08e8-4e1e-bfb3-0e1d8b45c813","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454478.5608263} authorization_1 | {"level":"info","message":"POST /relations/update 200 111ms","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":"7b94c5203638697f6abc4377b657575b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":111}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","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%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"061fd801-adc1-4ec5-b280-24483ef408de","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454478.563273} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0b1f7ebf-6215-4cae-8581-404de456ef32","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454478.5637066} authorization_1 | {"level":"info","message":"POST /relations/update 200 64ms","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":"a28f2dc0-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":64}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/e5dca27f-a7e6-4e88-8c85-10602dcbf689","user":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 807ms","method":"POST","requestID":"7b94c5203638697f6abc4377b657575b","responseTime":807,"status":201,"url":"/experiments?"} gateway_1 | {"time_local":"20/Feb/2024:18:41:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"815","request_time":"0.814","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7b94c5203638697f6abc4377b657575b"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ3OH0.YHWkLpVOEwZKB0y49XfRda8nUJOitYOSSjMhl7uptHE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"831702f9eb29062538a5152acb0cb158","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":92,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:18Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":92,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.293348,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:18Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a96a6e60-e5fd-4425-8889-ca5a530f85f6","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/a96a6e60-e5fd-4425-8889-ca5a530f85f6","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454478,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ3OH0.YHWkLpVOEwZKB0y49XfRda8nUJOitYOSSjMhl7uptHE"} 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":"831702f9eb29062538a5152acb0cb158"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa96a6e60-e5fd-4425-8889-ca5a530f85f6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa96a6e60-e5fd-4425-8889-ca5a530f85f6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:15.907243125Z"}]},"request_id":"873bfbad-362c-4254-b017-1ed73aa9b446","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454478.5909703} 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":"831702f9eb29062538a5152acb0cb158"},"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/0f75a1f1-0e4a-4a2b-b93d-c7895a8dc5af'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/0f75a1f1-0e4a-4a2b-b93d-c7895a8dc5af'"} 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 211ms","method":"POST","requestID":"a28f2dc0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":211,"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":"20/Feb/2024:18:41:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a96a6e60-e5fd-4425-8889-ca5a530f85f6? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.127","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"831702f9eb29062538a5152acb0cb158"} device_1 | {"level":"info","message":"GET /devices/a96a6e60-e5fd-4425-8889-ca5a530f85f6? 200 122ms","method":"GET","requestID":"831702f9eb29062538a5152acb0cb158","responseTime":122,"status":200,"url":"/devices/a96a6e60-e5fd-4425-8889-ca5a530f85f6?"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ3OH0.YHWkLpVOEwZKB0y49XfRda8nUJOitYOSSjMhl7uptHE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"fec58738eb29c454a736cb21f63193b9","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":93,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:18Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":93,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.017302,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:18Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d6d590fd-9f1b-4a17-b226-95e42e1cc031","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/d6d590fd-9f1b-4a17-b226-95e42e1cc031","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454478,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ3OH0.YHWkLpVOEwZKB0y49XfRda8nUJOitYOSSjMhl7uptHE"} 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":"fec58738eb29c454a736cb21f63193b9"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6d590fd-9f1b-4a17-b226-95e42e1cc031","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6d590fd-9f1b-4a17-b226-95e42e1cc031","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:16.200512148Z"}]},"request_id":"e675f81f-039e-4949-bc96-db97c76074fa","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454478.7271786} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fec58738eb29c454a736cb21f63193b9"},"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":"20/Feb/2024:18:41:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d6d590fd-9f1b-4a17-b226-95e42e1cc031? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fec58738eb29c454a736cb21f63193b9"} device_1 | {"level":"info","message":"GET /devices/d6d590fd-9f1b-4a17-b226-95e42e1cc031? 200 16ms","method":"GET","requestID":"fec58738eb29c454a736cb21f63193b9","responseTime":16,"status":200,"url":"/devices/d6d590fd-9f1b-4a17-b226-95e42e1cc031?"} device_1 | {"data":{"peerconnection":"0f75a1f1-0e4a-4a2b-b93d-c7895a8dc5af","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"0f75a1f1-0e4a-4a2b-b93d-c7895a8dc5af","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/0f75a1f1-0e4a-4a2b-b93d-c7895a8dc5af' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"0f75a1f1-0e4a-4a2b-b93d-c7895a8dc5af","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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"edf65621cef781f937c26003b314c7c5","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/a96a6e60-e5fd-4425-8889-ca5a530f85f6"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/d6d590fd-9f1b-4a17-b226-95e42e1cc031"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/0f75a1f1-0e4a-4a2b-b93d-c7895a8dc5af"}}},"level":"info","message":"received a callback"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ3OH0.YHWkLpVOEwZKB0y49XfRda8nUJOitYOSSjMhl7uptHE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b4b1788c39e785f9cdfcfc4b94d7009b","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/e5dca27f-a7e6-4e88-8c85-10602dcbf689"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":94,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:18Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":94,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.213104,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:18Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e5dca27f-a7e6-4e88-8c85-10602dcbf689","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/e5dca27f-a7e6-4e88-8c85-10602dcbf689","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454478,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ3OH0.YHWkLpVOEwZKB0y49XfRda8nUJOitYOSSjMhl7uptHE"} 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":"b4b1788c39e785f9cdfcfc4b94d7009b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 153ms","method":"POST","requestID":"edf65621cef781f937c26003b314c7c5","responseTime":153,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:41: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.156","http_referrer":"","http_user_agent":"node-fetch","requestID":"edf65621cef781f937c26003b314c7c5"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/e5dca27f-a7e6-4e88-8c85-10602dcbf689"} gateway_1 | {"time_local":"20/Feb/2024:18:41:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/e5dca27f-a7e6-4e88-8c85-10602dcbf689 HTTP/1.1","status": "200","body_bytes_sent":"886","request_time":"0.031","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b4b1788c39e785f9cdfcfc4b94d7009b"} experiment_1 | {"level":"info","message":"GET /experiments/e5dca27f-a7e6-4e88-8c85-10602dcbf689 200 24ms","method":"GET","requestID":"b4b1788c39e785f9cdfcfc4b94d7009b","responseTime":24,"status":200,"url":"/experiments/e5dca27f-a7e6-4e88-8c85-10602dcbf689"} device_1 | {"data":{"peerconnection":"0f75a1f1-0e4a-4a2b-b93d-c7895a8dc5af","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ3OX0.Zghb-MyHfGaoFGJrpbXeXRy8i8vlyGvLfdI85G9TRpw","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"915652a8d625ca50a4cd223410d69f74","responseTime":6,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/e5dca27f-a7e6-4e88-8c85-10602dcbf689"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":95,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:19Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":95,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.241513,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:19Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e5dca27f-a7e6-4e88-8c85-10602dcbf689","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/e5dca27f-a7e6-4e88-8c85-10602dcbf689","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454479,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ3OX0.Zghb-MyHfGaoFGJrpbXeXRy8i8vlyGvLfdI85G9TRpw"} 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":"915652a8d625ca50a4cd223410d69f74"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e5dca27f-a7e6-4e88-8c85-10602dcbf689"},"level":"info","message":"Successfully created peerconnections for experiment"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/e5dca27f-a7e6-4e88-8c85-10602dcbf689"} gateway_1 | {"time_local":"20/Feb/2024:18:41:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/e5dca27f-a7e6-4e88-8c85-10602dcbf689 HTTP/1.1","status": "200","body_bytes_sent":"886","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"915652a8d625ca50a4cd223410d69f74"} experiment_1 | {"level":"info","message":"GET /experiments/e5dca27f-a7e6-4e88-8c85-10602dcbf689 200 44ms","method":"GET","requestID":"915652a8d625ca50a4cd223410d69f74","responseTime":44,"status":200,"url":"/experiments/e5dca27f-a7e6-4e88-8c85-10602dcbf689"} device_1 | {"data":{"peerconnection":"0f75a1f1-0e4a-4a2b-b93d-c7895a8dc5af","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ3OX0.Zghb-MyHfGaoFGJrpbXeXRy8i8vlyGvLfdI85G9TRpw","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4e9b88b8206f7ad93790818af188287e","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/e5dca27f-a7e6-4e88-8c85-10602dcbf689"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":96,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:19Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":96,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.323034,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:19Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e5dca27f-a7e6-4e88-8c85-10602dcbf689","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/e5dca27f-a7e6-4e88-8c85-10602dcbf689","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454479,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ3OX0.Zghb-MyHfGaoFGJrpbXeXRy8i8vlyGvLfdI85G9TRpw"} 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":"4e9b88b8206f7ad93790818af188287e"},"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/e5dca27f-a7e6-4e88-8c85-10602dcbf689"} experiment_1 | {"level":"info","message":"GET /experiments/e5dca27f-a7e6-4e88-8c85-10602dcbf689 200 18ms","method":"GET","requestID":"4e9b88b8206f7ad93790818af188287e","responseTime":18,"status":200,"url":"/experiments/e5dca27f-a7e6-4e88-8c85-10602dcbf689"} gateway_1 | {"time_local":"20/Feb/2024:18:41:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/e5dca27f-a7e6-4e88-8c85-10602dcbf689 HTTP/1.1","status": "200","body_bytes_sent":"886","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4e9b88b8206f7ad93790818af188287e"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/0f75a1f1-0e4a-4a2b-b93d-c7895a8dc5af' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"0f75a1f1-0e4a-4a2b-b93d-c7895a8dc5af","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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"f0c88e40e69fc1d1da79fe4be37d387d","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/a96a6e60-e5fd-4425-8889-ca5a530f85f6"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/d6d590fd-9f1b-4a17-b226-95e42e1cc031"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/0f75a1f1-0e4a-4a2b-b93d-c7895a8dc5af"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":97,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:19Z"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","contextual_tuples":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0f75a1f1-0e4a-4a2b-b93d-c7895a8dc5af","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7daa45c7-c9d5-4993-a9bf-4f9502e5281d","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454479.2210946} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":97,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":4.304661,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:19Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/0f75a1f1-0e4a-4a2b-b93d-c7895a8dc5af","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/0f75a1f1-0e4a-4a2b-b93d-c7895a8dc5af","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a2fd31d0-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ3OX0.Zghb-MyHfGaoFGJrpbXeXRy8i8vlyGvLfdI85G9TRpw","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"80e44d67f0bcc3a1ec269dceea901a99","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/e5dca27f-a7e6-4e88-8c85-10602dcbf689"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":98,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:19Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":98,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.393158,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:19Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e5dca27f-a7e6-4e88-8c85-10602dcbf689","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/e5dca27f-a7e6-4e88-8c85-10602dcbf689","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454479,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ3OX0.Zghb-MyHfGaoFGJrpbXeXRy8i8vlyGvLfdI85G9TRpw"} 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":"80e44d67f0bcc3a1ec269dceea901a99"},"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/e5dca27f-a7e6-4e88-8c85-10602dcbf689"} gateway_1 | {"time_local":"20/Feb/2024:18:41:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/e5dca27f-a7e6-4e88-8c85-10602dcbf689 HTTP/1.1","status": "200","body_bytes_sent":"886","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"80e44d67f0bcc3a1ec269dceea901a99"} experiment_1 | {"level":"info","message":"GET /experiments/e5dca27f-a7e6-4e88-8c85-10602dcbf689 200 18ms","method":"GET","requestID":"80e44d67f0bcc3a1ec269dceea901a99","responseTime":18,"status":200,"url":"/experiments/e5dca27f-a7e6-4e88-8c85-10602dcbf689"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"GET /peerconnections/0f75a1f1-0e4a-4a2b-b93d-c7895a8dc5af 200 118ms","method":"GET","requestID":"a2fd31d0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":118,"status":200,"url":"/peerconnections/0f75a1f1-0e4a-4a2b-b93d-c7895a8dc5af"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ3OX0.Zghb-MyHfGaoFGJrpbXeXRy8i8vlyGvLfdI85G9TRpw","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"866cb882b9777fa158310ee5fe1479d9","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/e5dca27f-a7e6-4e88-8c85-10602dcbf689"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":99,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:19Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":99,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.061333,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:19Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e5dca27f-a7e6-4e88-8c85-10602dcbf689","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/e5dca27f-a7e6-4e88-8c85-10602dcbf689","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454479,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ3OX0.Zghb-MyHfGaoFGJrpbXeXRy8i8vlyGvLfdI85G9TRpw"} 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":"866cb882b9777fa158310ee5fe1479d9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 269ms","method":"POST","requestID":"f0c88e40e69fc1d1da79fe4be37d387d","responseTime":269,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:41:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.273","http_referrer":"","http_user_agent":"node-fetch","requestID":"f0c88e40e69fc1d1da79fe4be37d387d"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/e5dca27f-a7e6-4e88-8c85-10602dcbf689"} gateway_1 | {"time_local":"20/Feb/2024:18:41:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/e5dca27f-a7e6-4e88-8c85-10602dcbf689 HTTP/1.1","status": "200","body_bytes_sent":"888","request_time":"0.063","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"866cb882b9777fa158310ee5fe1479d9"} experiment_1 | {"level":"info","message":"GET /experiments/e5dca27f-a7e6-4e88-8c85-10602dcbf689 200 57ms","method":"GET","requestID":"866cb882b9777fa158310ee5fe1479d9","responseTime":57,"status":200,"url":"/experiments/e5dca27f-a7e6-4e88-8c85-10602dcbf689"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ3OX0.Zghb-MyHfGaoFGJrpbXeXRy8i8vlyGvLfdI85G9TRpw","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"86356a3cc751061f3c6415e186ffe200","responseTime":6,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/e5dca27f-a7e6-4e88-8c85-10602dcbf689"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":100,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:19Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":100,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.384391,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:19Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e5dca27f-a7e6-4e88-8c85-10602dcbf689","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/e5dca27f-a7e6-4e88-8c85-10602dcbf689","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454479,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ3OX0.Zghb-MyHfGaoFGJrpbXeXRy8i8vlyGvLfdI85G9TRpw"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"86356a3cc751061f3c6415e186ffe200"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e5dca27f-a7e6-4e88-8c85-10602dcbf689"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":101,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:19Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":101,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.026515,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:19Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/0f75a1f1-0e4a-4a2b-b93d-c7895a8dc5af","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"peerconnection:http://localhost/peerconnections/0f75a1f1-0e4a-4a2b-b93d-c7895a8dc5af","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454479,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ3OX0.Zghb-MyHfGaoFGJrpbXeXRy8i8vlyGvLfdI85G9TRpw"} 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":"a32a0e30-d01f-11ee-ad1d-cbf3af4d0136"},"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/0f75a1f1-0e4a-4a2b-b93d-c7895a8dc5af' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/0f75a1f1-0e4a-4a2b-b93d-c7895a8dc5af' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"0f75a1f1-0e4a-4a2b-b93d-c7895a8dc5af","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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"b08a03a336c011af999c90f0a1f4c63e","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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/a96a6e60-e5fd-4425-8889-ca5a530f85f6"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/d6d590fd-9f1b-4a17-b226-95e42e1cc031"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/0f75a1f1-0e4a-4a2b-b93d-c7895a8dc5af"}}},"level":"info","message":"received a callback"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0f75a1f1-0e4a-4a2b-b93d-c7895a8dc5af': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0f75a1f1-0e4a-4a2b-b93d-c7895a8dc5af","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]},"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":null},"raw_response":{},"request_id":"627131c0-c505-4050-8f07-744829fb273f","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454479.5335097} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"dfbda52becc22361d36167355ee351a9","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/a96a6e60-e5fd-4425-8889-ca5a530f85f6"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/d6d590fd-9f1b-4a17-b226-95e42e1cc031"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/0f75a1f1-0e4a-4a2b-b93d-c7895a8dc5af"}}},"level":"info","message":"received a callback"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2906f045-b642-4401-8e8c-8044bb223cfd","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454479.5340202} 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":"a32a0e30-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} device_1 | {"data":{"peerconnection":"0f75a1f1-0e4a-4a2b-b93d-c7895a8dc5af","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/0f75a1f1-0e4a-4a2b-b93d-c7895a8dc5af 204 276ms","method":"DELETE","requestID":"a32a0e30-d01f-11ee-ad1d-cbf3af4d0136","responseTime":276,"status":204,"url":"/peerconnections/0f75a1f1-0e4a-4a2b-b93d-c7895a8dc5af"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e5dca27f-a7e6-4e88-8c85-10602dcbf689"},"level":"info","message":"Successfully finished experiment"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe5dca27f-a7e6-4e88-8c85-10602dcbf689': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe5dca27f-a7e6-4e88-8c85-10602dcbf689","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]},"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":null},"raw_response":{},"request_id":"0f50b359-90ee-4262-8f8e-70a50fcaec1f","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454480.0283535} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2223d060-e61b-4c23-9f27-72918fb8c526","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454480.0286343} authorization_1 | {"level":"info","message":"POST /relations/update 200 130ms","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":"86356a3cc751061f3c6415e186ffe200"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":130}} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/e5dca27f-a7e6-4e88-8c85-10602dcbf689"} gateway_1 | {"time_local":"20/Feb/2024:18:41:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/e5dca27f-a7e6-4e88-8c85-10602dcbf689 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"1.306","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"86356a3cc751061f3c6415e186ffe200"} gateway_1 | {"time_local":"20/Feb/2024:18:41:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1521","request_time":"3.400","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"ed0c75e6c28660bb2748b5fd55eb3c62"} gateway_1 | {"time_local":"20/Feb/2024:18:41:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1521","request_time":"3.586","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"e46bc3e9f40ad4e1e246f5fa7a69e9b5"} experiment_1 | {"level":"info","message":"DELETE /experiments/e5dca27f-a7e6-4e88-8c85-10602dcbf689 204 1301ms","method":"DELETE","requestID":"86356a3cc751061f3c6415e186ffe200","responseTime":1301,"status":204,"url":"/experiments/e5dca27f-a7e6-4e88-8c85-10602dcbf689"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1263ms","method":"POST","requestID":"b08a03a336c011af999c90f0a1f4c63e","responseTime":1263,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:41:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"1.267","http_referrer":"","http_user_agent":"node-fetch","requestID":"b08a03a336c011af999c90f0a1f4c63e"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1264ms","method":"POST","requestID":"dfbda52becc22361d36167355ee351a9","responseTime":1264,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:41:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"1.269","http_referrer":"","http_user_agent":"node-fetch","requestID":"dfbda52becc22361d36167355ee351a9"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4MH0.yG4CfQdOTuqGhLNCLQ2uDSmIzgUfC5DtYxZl9hwmsLU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"25897a4fdfd2a6b03fafb8a0dccf892a","responseTime":6,"status":200,"url":"/auth"} device_1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/a96a6e60-e5fd-4425-8889-ca5a530f85f6' closed"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":102,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:20Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":102,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.808841,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:20Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454480,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4MH0.yG4CfQdOTuqGhLNCLQ2uDSmIzgUfC5DtYxZl9hwmsLU"} 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":"25897a4fdfd2a6b03fafb8a0dccf892a"},"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/d6d590fd-9f1b-4a17-b226-95e42e1cc031' 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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8a23ff4-d7c1-45a6-9b2d-0aaa8a86d2e0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"4036a607-5cd4-45c3-8853-7de1f7bf9e8c","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454481.1455555} 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":"25897a4fdfd2a6b03fafb8a0dccf892a"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3167f40e-a2a0-4129-bb5d-303cd686c8b5","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454481.1537642} 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":"25897a4fdfd2a6b03fafb8a0dccf892a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8a23ff4-d7c1-45a6-9b2d-0aaa8a86d2e0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"90eedca3-efbe-4098-86b1-6558ffeadb14","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454481.3277} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ce9c2e4d-1c34-47a8-8caa-77f312af4549","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454481.328114} authorization_1 | {"level":"info","message":"POST /relations/update 200 178ms","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":"25897a4fdfd2a6b03fafb8a0dccf892a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":178}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8a23ff4-d7c1-45a6-9b2d-0aaa8a86d2e0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8a23ff4-d7c1-45a6-9b2d-0aaa8a86d2e0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:21.327666993Z"}]},"request_id":"aef55862-8510-4719-b5b3-b26d42f2ec3f","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454481.3354316} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"25897a4fdfd2a6b03fafb8a0dccf892a"},"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":"20/Feb/2024:18:41:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.546","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"25897a4fdfd2a6b03fafb8a0dccf892a"} device_1 | {"level":"info","message":"POST /devices? 201 533ms","method":"POST","requestID":"25897a4fdfd2a6b03fafb8a0dccf892a","responseTime":533,"status":201,"url":"/devices?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4MX0.1t34_ntmbWf66O_yQEkirbQc0_gQsIkjl2lvLWz5j30","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"aaa3caec2bf635fc6d9549457fedb419","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":103,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:21Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":103,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.740258,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:21Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454481,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4MX0.1t34_ntmbWf66O_yQEkirbQc0_gQsIkjl2lvLWz5j30"} 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":"aaa3caec2bf635fc6d9549457fedb419"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59034aec-ce48-4c02-872a-16a4c5583a75","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a9c5eb99-55a6-4d0a-9a9e-58f484fcdfa0","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454481.4702766} 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":"aaa3caec2bf635fc6d9549457fedb419"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"56207a24-8667-4f9c-86db-8eba1b68246d","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454481.4800544} 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":"aaa3caec2bf635fc6d9549457fedb419"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59034aec-ce48-4c02-872a-16a4c5583a75","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"64e51ffb-6a37-4f29-b84a-fdba6eb7ef76","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454481.5870352} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f9f1c2fd-b646-4c32-b119-2cc085e5039c","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454481.5871682} authorization_1 | {"level":"info","message":"POST /relations/update 200 110ms","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":"aaa3caec2bf635fc6d9549457fedb419"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":110}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59034aec-ce48-4c02-872a-16a4c5583a75","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59034aec-ce48-4c02-872a-16a4c5583a75","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:21.587008863Z"}]},"request_id":"7fbd7cde-2f25-49d2-bc9b-0338795651eb","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454481.5949152} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aaa3caec2bf635fc6d9549457fedb419"},"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 252ms","method":"POST","requestID":"aaa3caec2bf635fc6d9549457fedb419","responseTime":252,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"20/Feb/2024:18:41:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.261","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"aaa3caec2bf635fc6d9549457fedb419"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4MX0.1t34_ntmbWf66O_yQEkirbQc0_gQsIkjl2lvLWz5j30","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"fe1d862232f76b9ca97406a4c58bc5bc","responseTime":6,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":104,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:21Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":104,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.895045,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:21Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454481,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4MX0.1t34_ntmbWf66O_yQEkirbQc0_gQsIkjl2lvLWz5j30"} 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":"fe1d862232f76b9ca97406a4c58bc5bc"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97b4278d-ba24-4a5a-ab7d-c5352672be77","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"29bf2f88-3d8c-4a76-9afc-2f5baf7714d0","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454481.7469215} 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":"fe1d862232f76b9ca97406a4c58bc5bc"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e146113a-f2f3-4ac9-b482-228d32adc0df","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454481.7548065} 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":"fe1d862232f76b9ca97406a4c58bc5bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97b4278d-ba24-4a5a-ab7d-c5352672be77","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"3351ee87-4a36-4017-bd0e-4fee7f14b01e","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454481.8796368} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"74305652-352b-4354-ab26-e2f192aa500d","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454481.879945} authorization_1 | {"level":"info","message":"POST /relations/update 200 129ms","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":"fe1d862232f76b9ca97406a4c58bc5bc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":129}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97b4278d-ba24-4a5a-ab7d-c5352672be77","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97b4278d-ba24-4a5a-ab7d-c5352672be77","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:21.879615785Z"}]},"request_id":"0dfa628f-bc04-462a-9a5d-938eca3ea025","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454481.8881812} 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":"fe1d862232f76b9ca97406a4c58bc5bc"},"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 283ms","method":"POST","requestID":"fe1d862232f76b9ca97406a4c58bc5bc","responseTime":283,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"20/Feb/2024:18:41:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.292","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fe1d862232f76b9ca97406a4c58bc5bc"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4MX0.1t34_ntmbWf66O_yQEkirbQc0_gQsIkjl2lvLWz5j30","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ceb4aacad9185ddb12281df519676a8d","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":105,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:21Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":105,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.861475,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:21Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454481,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4MX0.1t34_ntmbWf66O_yQEkirbQc0_gQsIkjl2lvLWz5j30"} 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":"ceb4aacad9185ddb12281df519676a8d"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7aa2d9a7-3aa9-4f63-8efa-f29955f18c51","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d73b9b5c-ba3a-4230-84ea-80372c077443","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454482.0233748} 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":"ceb4aacad9185ddb12281df519676a8d"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"66f7af54-74fc-4b0d-b317-39f90d7845e9","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454482.032389} 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":"ceb4aacad9185ddb12281df519676a8d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7aa2d9a7-3aa9-4f63-8efa-f29955f18c51","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"a9de8e7c-d574-4319-b080-6268a97a9daa","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454482.1326032} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"80efd99f-5bf2-407d-89d8-6844887c6d36","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454482.132763} authorization_1 | {"level":"info","message":"POST /relations/update 200 104ms","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":"ceb4aacad9185ddb12281df519676a8d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":104}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7aa2d9a7-3aa9-4f63-8efa-f29955f18c51","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7aa2d9a7-3aa9-4f63-8efa-f29955f18c51","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:22.132581161Z"}]},"request_id":"39142476-d82c-4a11-b714-c607f336d80b","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454482.1410916} 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":"ceb4aacad9185ddb12281df519676a8d"},"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 244ms","method":"POST","requestID":"ceb4aacad9185ddb12281df519676a8d","responseTime":244,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"20/Feb/2024:18:41:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.252","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ceb4aacad9185ddb12281df519676a8d"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4Mn0.ss0omLNTn1InKzvEOK1Meinw4xhFXYHJV1yDS-zi9CA","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"be93731b6f00c7d4e9d0744dca77c7a2","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":106,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:22Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":106,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.410855,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:22Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454482,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4Mn0.ss0omLNTn1InKzvEOK1Meinw4xhFXYHJV1yDS-zi9CA"} 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":"be93731b6f00c7d4e9d0744dca77c7a2"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd941ff21-85ab-4fdf-b34a-b537b3ba126c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"2419656e-d89f-479c-a96c-566eed1dc17a","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454482.3183036} 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":"be93731b6f00c7d4e9d0744dca77c7a2"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1daf68ac-3ba6-4892-8ee5-0deecfaea65d","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454482.3271012} 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":"be93731b6f00c7d4e9d0744dca77c7a2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd941ff21-85ab-4fdf-b34a-b537b3ba126c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"29846376-48a0-4cac-ba54-eeebf4dea646","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454482.4844363} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"44e49927-85f6-4f3b-860a-f3f22ce7bb32","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454482.484653} authorization_1 | {"level":"info","message":"POST /relations/update 200 160ms","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":"be93731b6f00c7d4e9d0744dca77c7a2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":160}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd941ff21-85ab-4fdf-b34a-b537b3ba126c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd941ff21-85ab-4fdf-b34a-b537b3ba126c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:22.484411961Z"}]},"request_id":"0c3db744-2334-4abd-86ff-527ccd2bc665","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454482.4920323} 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":"be93731b6f00c7d4e9d0744dca77c7a2"},"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 343ms","method":"POST","requestID":"be93731b6f00c7d4e9d0744dca77c7a2","responseTime":343,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"20/Feb/2024:18:41:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.351","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"be93731b6f00c7d4e9d0744dca77c7a2"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4Mn0.ss0omLNTn1InKzvEOK1Meinw4xhFXYHJV1yDS-zi9CA","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"35184d0c78376aedd18ad666ec7ebdcd","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":107,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:22Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":107,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.956342,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:22Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454482,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4Mn0.ss0omLNTn1InKzvEOK1Meinw4xhFXYHJV1yDS-zi9CA"} 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":"35184d0c78376aedd18ad666ec7ebdcd"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd144fb7a-cc54-4d9a-8749-c7f6b9ef34b2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"93aa09c1-d314-4954-ab6f-b175df0a4ff8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454482.6442404} 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":"35184d0c78376aedd18ad666ec7ebdcd"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0642d622-2ca5-4d7c-aa55-40cfd8033017","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454482.652012} 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":"35184d0c78376aedd18ad666ec7ebdcd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd144fb7a-cc54-4d9a-8749-c7f6b9ef34b2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"c85237ff-afe5-4e33-91c1-15c73e53ed09","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454482.752643} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"95404c5f-688d-4bc7-8d2e-82454e8383c2","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454482.7529025} authorization_1 | {"level":"info","message":"POST /relations/update 200 104ms","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":"35184d0c78376aedd18ad666ec7ebdcd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":104}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd144fb7a-cc54-4d9a-8749-c7f6b9ef34b2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd144fb7a-cc54-4d9a-8749-c7f6b9ef34b2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:22.752622396Z"}]},"request_id":"91399266-fb21-46c8-a24c-5ccb24878d40","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454482.7607622} 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":"35184d0c78376aedd18ad666ec7ebdcd"},"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 261ms","method":"POST","requestID":"35184d0c78376aedd18ad666ec7ebdcd","responseTime":261,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"20/Feb/2024:18:41:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.269","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"35184d0c78376aedd18ad666ec7ebdcd"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4Mn0.ss0omLNTn1InKzvEOK1Meinw4xhFXYHJV1yDS-zi9CA","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e7182b583b9df63bf0ee7570a5ff5d92","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":108,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:22Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":108,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.343838,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:22Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454482,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4Mn0.ss0omLNTn1InKzvEOK1Meinw4xhFXYHJV1yDS-zi9CA"} 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":"e7182b583b9df63bf0ee7570a5ff5d92"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdac7fdf7-b009-48ea-908b-5935a7c4a6ef","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"54d3a00c-612a-48a5-af7a-5f77c4c8de28","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454482.9042196} 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":"e7182b583b9df63bf0ee7570a5ff5d92"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a46cea33-363c-47ac-8cbf-2a5ac70e2e0c","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454482.9130116} 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":"e7182b583b9df63bf0ee7570a5ff5d92"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdac7fdf7-b009-48ea-908b-5935a7c4a6ef","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"ef9bf4db-f8b9-4934-8e41-d00609b5a1dd","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454483.0374117} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e6a2c3f7-13c5-4d08-a622-e8f4242138c3","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454483.0376785} authorization_1 | {"level":"info","message":"POST /relations/update 200 128ms","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":"e7182b583b9df63bf0ee7570a5ff5d92"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":128}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdac7fdf7-b009-48ea-908b-5935a7c4a6ef","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdac7fdf7-b009-48ea-908b-5935a7c4a6ef","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:23.037386736Z"}]},"request_id":"730aa5f6-3ce5-4d55-b495-cdf56aeac2c0","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454483.045814} 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":"e7182b583b9df63bf0ee7570a5ff5d92"},"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 276ms","method":"POST","requestID":"e7182b583b9df63bf0ee7570a5ff5d92","responseTime":276,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"20/Feb/2024:18:41:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.284","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e7182b583b9df63bf0ee7570a5ff5d92"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4M30.CtikxIWYgQUE93ZflOPo0vqoi297L7qgDd14Afi93wU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2800754456c9c6d4e67eda85d923ac33","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":109,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:23Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":109,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.698741,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:23Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454483,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4M30.CtikxIWYgQUE93ZflOPo0vqoi297L7qgDd14Afi93wU"} 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":"2800754456c9c6d4e67eda85d923ac33"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8457693f-cf25-43b1-ab88-eb0ed59c3ab5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"74a74998-9048-4ad8-9f59-7e6460edb167","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454483.1976817} 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":"2800754456c9c6d4e67eda85d923ac33"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8fd675e9-3e39-4c37-83d9-f27a57eea3f4","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454483.2060034} 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":"2800754456c9c6d4e67eda85d923ac33"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8457693f-cf25-43b1-ab88-eb0ed59c3ab5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"4aad1bf8-af8a-4409-8e3f-bb164240fb95","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454483.3308644} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bd776e45-6cfa-4951-84ec-363244748034","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454483.3312929} authorization_1 | {"level":"info","message":"POST /relations/update 200 128ms","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":"2800754456c9c6d4e67eda85d923ac33"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":128}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8457693f-cf25-43b1-ab88-eb0ed59c3ab5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8457693f-cf25-43b1-ab88-eb0ed59c3ab5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:23.330841740Z"}]},"request_id":"4b67cef0-cd6e-4d52-9291-42cd0b76af9d","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454483.33912} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2800754456c9c6d4e67eda85d923ac33"},"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 283ms","method":"POST","requestID":"2800754456c9c6d4e67eda85d923ac33","responseTime":283,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"20/Feb/2024:18:41:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.291","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2800754456c9c6d4e67eda85d923ac33"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4M30.CtikxIWYgQUE93ZflOPo0vqoi297L7qgDd14Afi93wU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"d7647284deaa1c8f12b1ff87ac672bcc","responseTime":6,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":110,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:23Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":110,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.724627,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:23Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454483,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4M30.CtikxIWYgQUE93ZflOPo0vqoi297L7qgDd14Afi93wU"} 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":"d7647284deaa1c8f12b1ff87ac672bcc"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F35ee3f10-2736-48fd-905c-e7dc20d9a242","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"22ff7bdf-e0a6-4e75-b9c5-74def8c73a93","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454483.4825096} 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":"d7647284deaa1c8f12b1ff87ac672bcc"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f05f0431-be68-4c99-a02e-2a8000eda73f","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454483.490708} 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":"d7647284deaa1c8f12b1ff87ac672bcc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F35ee3f10-2736-48fd-905c-e7dc20d9a242","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"21a61e55-a89e-4ad4-bd60-d30bbdc2be46","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454483.6001573} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8945d9d8-a206-4acb-a47c-5d93aa65a8c3","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454483.6004264} authorization_1 | {"level":"info","message":"POST /relations/update 200 114ms","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":"d7647284deaa1c8f12b1ff87ac672bcc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":114}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F35ee3f10-2736-48fd-905c-e7dc20d9a242","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F35ee3f10-2736-48fd-905c-e7dc20d9a242","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:23.600135161Z"}]},"request_id":"49ba2d51-16fe-40b3-8bc2-de890466fd8d","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454483.6091628} 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":"d7647284deaa1c8f12b1ff87ac672bcc"},"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 262ms","method":"POST","requestID":"d7647284deaa1c8f12b1ff87ac672bcc","responseTime":262,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"20/Feb/2024:18:41:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.272","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d7647284deaa1c8f12b1ff87ac672bcc"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4M30.CtikxIWYgQUE93ZflOPo0vqoi297L7qgDd14Afi93wU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5c99f93d1b3d23155bf52076620252a3","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":111,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:23Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":111,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.007541,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:23Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454483,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4M30.CtikxIWYgQUE93ZflOPo0vqoi297L7qgDd14Afi93wU"} 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":"5c99f93d1b3d23155bf52076620252a3"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdee1cd12-97e8-44a9-9757-372d07a916c9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ac41b250-37dd-40d3-9773-98a5a78e3386","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454483.7604296} 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":"5c99f93d1b3d23155bf52076620252a3"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e6b93852-c8cc-4a37-af28-ca0096fbc721","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454483.7689312} 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":"5c99f93d1b3d23155bf52076620252a3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdee1cd12-97e8-44a9-9757-372d07a916c9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"f29119ca-8661-4aa4-82a0-06e01966e3c2","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454483.8850014} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cb357b5e-98de-4f57-80c5-86b15b692bcb","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454483.8851743} authorization_1 | {"level":"info","message":"POST /relations/update 200 120ms","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":"5c99f93d1b3d23155bf52076620252a3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":120}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdee1cd12-97e8-44a9-9757-372d07a916c9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdee1cd12-97e8-44a9-9757-372d07a916c9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:23.884978745Z"}]},"request_id":"b0fee0e8-41aa-4d2c-89c0-eb324176f28b","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454483.8927548} 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":"5c99f93d1b3d23155bf52076620252a3"},"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 274ms","method":"POST","requestID":"5c99f93d1b3d23155bf52076620252a3","responseTime":274,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"20/Feb/2024:18:41:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"278","request_time":"0.284","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5c99f93d1b3d23155bf52076620252a3"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4M30.CtikxIWYgQUE93ZflOPo0vqoi297L7qgDd14Afi93wU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"91571ed2663435f2124adcb791969b4b","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":112,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:23Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":112,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.72389,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:23Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454483,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4M30.CtikxIWYgQUE93ZflOPo0vqoi297L7qgDd14Afi93wU"} 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":"91571ed2663435f2124adcb791969b4b"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F45cb675f-8f30-4d53-92dc-9f369bcc1b42","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"85cc8858-11e5-41ae-9df1-9f26bcf76d5b","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454484.0704012} 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":"91571ed2663435f2124adcb791969b4b"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c56e2a09-e6ff-44d8-a2fe-74bbbb72ba5f","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454484.0788236} 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":"91571ed2663435f2124adcb791969b4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F45cb675f-8f30-4d53-92dc-9f369bcc1b42","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"38374980-18d1-49ef-b5ce-980da070aadb","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454484.1787727} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"74b1d91e-79fa-4082-a6de-49a2907f298c","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454484.1790924} authorization_1 | {"level":"info","message":"POST /relations/update 200 104ms","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":"91571ed2663435f2124adcb791969b4b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":104}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F45cb675f-8f30-4d53-92dc-9f369bcc1b42","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F45cb675f-8f30-4d53-92dc-9f369bcc1b42","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:24.178748234Z"}]},"request_id":"f315994c-d786-4cbf-afae-a99bd4728c22","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454484.1858728} 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":"91571ed2663435f2124adcb791969b4b"},"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 283ms","method":"POST","requestID":"91571ed2663435f2124adcb791969b4b","responseTime":283,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"20/Feb/2024:18:41:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1069","request_time":"0.294","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"91571ed2663435f2124adcb791969b4b"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4NH0.RCKvDiTJ_jB3baDNt8k_V31mCXkscb0DOox4EnEompc","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7d8e7fa4c93bfb18fafa5328cc99709b","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":113,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:24Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":113,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.17222,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:24Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454484,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4NH0.RCKvDiTJ_jB3baDNt8k_V31mCXkscb0DOox4EnEompc"} 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":"7d8e7fa4c93bfb18fafa5328cc99709b"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d716599-7ad6-4979-a089-283c3e990bc8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"1ee39df6-9ab0-4be3-b5ef-9b0311d84058","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454484.3551424} 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":"7d8e7fa4c93bfb18fafa5328cc99709b"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"acdfa8b7-3ae7-40b8-9f53-a26e94968837","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454484.3630588} 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":"7d8e7fa4c93bfb18fafa5328cc99709b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d716599-7ad6-4979-a089-283c3e990bc8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"b454a7f6-b4bb-42d5-a110-607459aa2cba","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454484.4799252} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a7661061-cd90-41ef-8654-ab1df8cde5e8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454484.480557} authorization_1 | {"level":"info","message":"POST /relations/update 200 121ms","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":"7d8e7fa4c93bfb18fafa5328cc99709b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":121}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d716599-7ad6-4979-a089-283c3e990bc8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d716599-7ad6-4979-a089-283c3e990bc8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:24.479901773Z"}]},"request_id":"983e18ed-f6bc-45ab-ace1-ff04954aa53a","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454484.4894674} 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":"7d8e7fa4c93bfb18fafa5328cc99709b"},"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 294ms","method":"POST","requestID":"7d8e7fa4c93bfb18fafa5328cc99709b","responseTime":294,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"20/Feb/2024:18:41:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1347","request_time":"0.301","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7d8e7fa4c93bfb18fafa5328cc99709b"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4NH0.RCKvDiTJ_jB3baDNt8k_V31mCXkscb0DOox4EnEompc","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"d17f17ac7cb236de2c8cd8c658398bcb","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":114,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:24Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":114,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.173331,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:24Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454484,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4NH0.RCKvDiTJ_jB3baDNt8k_V31mCXkscb0DOox4EnEompc"} 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":"d17f17ac7cb236de2c8cd8c658398bcb"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc61fb76b-3556-4ef2-8bec-03f0da2e4c63","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d8cf0702-8203-41a7-ac92-8b6133f2e3cd","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454484.6403003} 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":"d17f17ac7cb236de2c8cd8c658398bcb"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"018c31b5-118a-436c-bc21-5b601980f396","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454484.6481352} 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":"d17f17ac7cb236de2c8cd8c658398bcb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc61fb76b-3556-4ef2-8bec-03f0da2e4c63","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"bc362d58-e879-4168-a6fe-bfaa4fe8b050","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454484.7648382} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e9546269-9e6f-4e88-b7f5-7309bab26be9","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454484.7653291} authorization_1 | {"level":"info","message":"POST /relations/update 200 120ms","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":"d17f17ac7cb236de2c8cd8c658398bcb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":120}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc61fb76b-3556-4ef2-8bec-03f0da2e4c63","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc61fb76b-3556-4ef2-8bec-03f0da2e4c63","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:24.764814008Z"}]},"request_id":"49bc49a3-3038-43ac-86db-0da7f42c89cd","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454484.772465} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d17f17ac7cb236de2c8cd8c658398bcb"},"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 273ms","method":"POST","requestID":"d17f17ac7cb236de2c8cd8c658398bcb","responseTime":273,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"20/Feb/2024:18:41:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1070","request_time":"0.287","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d17f17ac7cb236de2c8cd8c658398bcb"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4NH0.RCKvDiTJ_jB3baDNt8k_V31mCXkscb0DOox4EnEompc","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7e45587db38a88ec33c7fc5f8e4ed6b2","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":115,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:24Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":115,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.277364,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:24Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/45cb675f-8f30-4d53-92dc-9f369bcc1b42","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/45cb675f-8f30-4d53-92dc-9f369bcc1b42","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454484,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4NH0.RCKvDiTJ_jB3baDNt8k_V31mCXkscb0DOox4EnEompc"} 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":"7e45587db38a88ec33c7fc5f8e4ed6b2"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F45cb675f-8f30-4d53-92dc-9f369bcc1b42","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F45cb675f-8f30-4d53-92dc-9f369bcc1b42","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:24.178748234Z"}]},"request_id":"acd09dc4-5300-4907-ba97-4dbfd3170cde","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454484.804574} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7e45587db38a88ec33c7fc5f8e4ed6b2"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d61cd91b-70c2-4db5-90fc-0c7d1b38a091","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454484.8111975} 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":"7e45587db38a88ec33c7fc5f8e4ed6b2"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F45cb675f-8f30-4d53-92dc-9f369bcc1b42","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F45cb675f-8f30-4d53-92dc-9f369bcc1b42","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:24.178748234Z"}]},"request_id":"21762ba0-ab35-4517-b15a-47492daeff75","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454484.9585881} 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":"7e45587db38a88ec33c7fc5f8e4ed6b2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"PATCH /devices/45cb675f-8f30-4d53-92dc-9f369bcc1b42? 200 173ms","method":"PATCH","requestID":"7e45587db38a88ec33c7fc5f8e4ed6b2","responseTime":173,"status":200,"url":"/devices/45cb675f-8f30-4d53-92dc-9f369bcc1b42?"} gateway_1 | {"time_local":"20/Feb/2024:18:41:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/45cb675f-8f30-4d53-92dc-9f369bcc1b42? HTTP/1.1","status": "200","body_bytes_sent":"1141","request_time":"0.182","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7e45587db38a88ec33c7fc5f8e4ed6b2"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4NH0.RCKvDiTJ_jB3baDNt8k_V31mCXkscb0DOox4EnEompc","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0a4992302be5950a4acee499f2924853","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":116,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:24Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":116,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.135151,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:24Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/2d716599-7ad6-4979-a089-283c3e990bc8","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/2d716599-7ad6-4979-a089-283c3e990bc8","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454484,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4NH0.RCKvDiTJ_jB3baDNt8k_V31mCXkscb0DOox4EnEompc"} 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":"0a4992302be5950a4acee499f2924853"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d716599-7ad6-4979-a089-283c3e990bc8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d716599-7ad6-4979-a089-283c3e990bc8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:24.479901773Z"}]},"request_id":"25a4c3cc-63e2-45c5-ae7d-a00b18936092","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454484.987617} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0a4992302be5950a4acee499f2924853"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d2d3ade9-b695-4f0d-9a82-3d4db62c76e0","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454484.994203} 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":"0a4992302be5950a4acee499f2924853"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d716599-7ad6-4979-a089-283c3e990bc8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d716599-7ad6-4979-a089-283c3e990bc8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:24.479901773Z"}]},"request_id":"198174b1-f06f-4924-b299-b16bd2e876f6","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454485.1101415} 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":"0a4992302be5950a4acee499f2924853"},"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/2d716599-7ad6-4979-a089-283c3e990bc8? 200 142ms","method":"PATCH","requestID":"0a4992302be5950a4acee499f2924853","responseTime":142,"status":200,"url":"/devices/2d716599-7ad6-4979-a089-283c3e990bc8?"} gateway_1 | {"time_local":"20/Feb/2024:18:41:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/2d716599-7ad6-4979-a089-283c3e990bc8? HTTP/1.1","status": "200","body_bytes_sent":"1491","request_time":"0.150","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0a4992302be5950a4acee499f2924853"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4NX0.kkUjgTZ1CkyTneMX6AtyLDJr5zXeox0kRwYOM5AFlvk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2250de22fee5398af5829035eafe8cf8","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":117,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:25Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":117,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.187534,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:25Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c61fb76b-3556-4ef2-8bec-03f0da2e4c63","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/c61fb76b-3556-4ef2-8bec-03f0da2e4c63","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454485,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4NX0.kkUjgTZ1CkyTneMX6AtyLDJr5zXeox0kRwYOM5AFlvk"} 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":"2250de22fee5398af5829035eafe8cf8"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc61fb76b-3556-4ef2-8bec-03f0da2e4c63","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc61fb76b-3556-4ef2-8bec-03f0da2e4c63","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:24.764814008Z"}]},"request_id":"45e5c59a-5b4f-4e72-a49a-e13f58ce540e","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454485.136001} 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":"2250de22fee5398af5829035eafe8cf8"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f9feae7a-ce1a-4120-bc5b-16b53b0dd8d7","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454485.1420105} 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":"2250de22fee5398af5829035eafe8cf8"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc61fb76b-3556-4ef2-8bec-03f0da2e4c63","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc61fb76b-3556-4ef2-8bec-03f0da2e4c63","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:24.764814008Z"}]},"request_id":"76e71dd8-f7e7-4481-af28-2bb6f219607a","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454485.286592} 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":"2250de22fee5398af5829035eafe8cf8"},"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/c61fb76b-3556-4ef2-8bec-03f0da2e4c63? 200 168ms","method":"PATCH","requestID":"2250de22fee5398af5829035eafe8cf8","responseTime":168,"status":200,"url":"/devices/c61fb76b-3556-4ef2-8bec-03f0da2e4c63?"} gateway_1 | {"time_local":"20/Feb/2024:18:41:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/c61fb76b-3556-4ef2-8bec-03f0da2e4c63? HTTP/1.1","status": "200","body_bytes_sent":"1142","request_time":"0.175","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2250de22fee5398af5829035eafe8cf8"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4NX0.kkUjgTZ1CkyTneMX6AtyLDJr5zXeox0kRwYOM5AFlvk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"f1047d95e82e1a10eaab399a8d77192d","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":118,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:25Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":118,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.003226,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:25Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/45cb675f-8f30-4d53-92dc-9f369bcc1b42","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/45cb675f-8f30-4d53-92dc-9f369bcc1b42","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454485,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4NX0.kkUjgTZ1CkyTneMX6AtyLDJr5zXeox0kRwYOM5AFlvk"} 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":"f1047d95e82e1a10eaab399a8d77192d"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F45cb675f-8f30-4d53-92dc-9f369bcc1b42","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F45cb675f-8f30-4d53-92dc-9f369bcc1b42","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:24.178748234Z"}]},"request_id":"1cea2539-8b7b-48a3-96b8-6c786901bce4","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454485.3128376} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f1047d95e82e1a10eaab399a8d77192d"},"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:48424","level":"info","msg":"Received request.","req_id":119,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:25Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":119,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.040079,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:25Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c8a23ff4-d7c1-45a6-9b2d-0aaa8a86d2e0","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/c8a23ff4-d7c1-45a6-9b2d-0aaa8a86d2e0","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454485,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4NX0.kkUjgTZ1CkyTneMX6AtyLDJr5zXeox0kRwYOM5AFlvk"} 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":"f1047d95e82e1a10eaab399a8d77192d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization_1 | {"client_addr":"127.0.0.1:42522","level":"info","msg":"Received request.","req_id":120,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:25Z"} authorization_1 | {"client_addr":"127.0.0.1:42532","level":"info","msg":"Received request.","req_id":121,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:25Z"} authorization_1 | {"client_addr":"127.0.0.1:42540","level":"info","msg":"Received request.","req_id":122,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:25Z"} authorization_1 | {"client_addr":"127.0.0.1:42532","level":"info","msg":"Sent response.","req_id":121,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.607989,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:25Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/97b4278d-ba24-4a5a-ab7d-c5352672be77","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/97b4278d-ba24-4a5a-ab7d-c5352672be77","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454485,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4NX0.kkUjgTZ1CkyTneMX6AtyLDJr5zXeox0kRwYOM5AFlvk"} 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":"f1047d95e82e1a10eaab399a8d77192d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"client_addr":"127.0.0.1:42522","level":"info","msg":"Sent response.","req_id":120,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.941281,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:25Z"} authorization_1 | {"client_addr":"127.0.0.1:42540","level":"info","msg":"Sent response.","req_id":122,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.647376,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:25Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/59034aec-ce48-4c02-872a-16a4c5583a75","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/59034aec-ce48-4c02-872a-16a4c5583a75","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454485,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4NX0.kkUjgTZ1CkyTneMX6AtyLDJr5zXeox0kRwYOM5AFlvk"} authorization_1 | {"level":"info","message":"POST /authorize 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f1047d95e82e1a10eaab399a8d77192d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2d716599-7ad6-4979-a089-283c3e990bc8","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/2d716599-7ad6-4979-a089-283c3e990bc8","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454485,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4NX0.kkUjgTZ1CkyTneMX6AtyLDJr5zXeox0kRwYOM5AFlvk"} 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":"f1047d95e82e1a10eaab399a8d77192d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"20/Feb/2024:18:41:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/45cb675f-8f30-4d53-92dc-9f369bcc1b42? HTTP/1.1","status": "200","body_bytes_sent":"1141","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f1047d95e82e1a10eaab399a8d77192d"} device_1 | {"level":"info","message":"GET /devices/45cb675f-8f30-4d53-92dc-9f369bcc1b42? 200 38ms","method":"GET","requestID":"f1047d95e82e1a10eaab399a8d77192d","responseTime":38,"status":200,"url":"/devices/45cb675f-8f30-4d53-92dc-9f369bcc1b42?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4NX0.kkUjgTZ1CkyTneMX6AtyLDJr5zXeox0kRwYOM5AFlvk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"dea36b189493f939e8f651d460cef637","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":123,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:25Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":123,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.044429,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:25Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2d716599-7ad6-4979-a089-283c3e990bc8","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/2d716599-7ad6-4979-a089-283c3e990bc8","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454485,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4NX0.kkUjgTZ1CkyTneMX6AtyLDJr5zXeox0kRwYOM5AFlvk"} 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":"dea36b189493f939e8f651d460cef637"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d716599-7ad6-4979-a089-283c3e990bc8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d716599-7ad6-4979-a089-283c3e990bc8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:24.479901773Z"}]},"request_id":"c8182d95-3d20-4124-a633-960bdaccd608","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454485.35571} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dea36b189493f939e8f651d460cef637"},"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:48424","level":"info","msg":"Received request.","req_id":124,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:25Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":124,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.975442,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:25Z"} authorization_1 | {"client_addr":"127.0.0.1:42522","level":"info","msg":"Received request.","req_id":125,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:25Z"} authorization_1 | {"client_addr":"127.0.0.1:42522","level":"info","msg":"Sent response.","req_id":125,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.80029,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:25Z"} authorization_1 | {"client_addr":"127.0.0.1:42532","level":"info","msg":"Received request.","req_id":126,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:25Z"} authorization_1 | {"client_addr":"127.0.0.1:42532","level":"info","msg":"Sent response.","req_id":126,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.752641,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:25Z"} authorization_1 | {"client_addr":"127.0.0.1:42540","level":"info","msg":"Received request.","req_id":127,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:25Z"} authorization_1 | {"client_addr":"127.0.0.1:42540","level":"info","msg":"Sent response.","req_id":127,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.756583,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:25Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7aa2d9a7-3aa9-4f63-8efa-f29955f18c51","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/7aa2d9a7-3aa9-4f63-8efa-f29955f18c51","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454485,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4NX0.kkUjgTZ1CkyTneMX6AtyLDJr5zXeox0kRwYOM5AFlvk"} 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":"dea36b189493f939e8f651d460cef637"},"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/d941ff21-85ab-4fdf-b34a-b537b3ba126c","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/d941ff21-85ab-4fdf-b34a-b537b3ba126c","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454485,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4NX0.kkUjgTZ1CkyTneMX6AtyLDJr5zXeox0kRwYOM5AFlvk"} 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":"dea36b189493f939e8f651d460cef637"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d144fb7a-cc54-4d9a-8749-c7f6b9ef34b2","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/d144fb7a-cc54-4d9a-8749-c7f6b9ef34b2","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454485,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4NX0.kkUjgTZ1CkyTneMX6AtyLDJr5zXeox0kRwYOM5AFlvk"} 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":"dea36b189493f939e8f651d460cef637"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dac7fdf7-b009-48ea-908b-5935a7c4a6ef","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/dac7fdf7-b009-48ea-908b-5935a7c4a6ef","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454485,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4NX0.kkUjgTZ1CkyTneMX6AtyLDJr5zXeox0kRwYOM5AFlvk"} 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":"dea36b189493f939e8f651d460cef637"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization_1 | {"client_addr":"127.0.0.1:42550","level":"info","msg":"Received request.","req_id":128,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:25Z"} authorization_1 | {"client_addr":"127.0.0.1:42564","level":"info","msg":"Received request.","req_id":129,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:25Z"} authorization_1 | {"client_addr":"127.0.0.1:42550","level":"info","msg":"Sent response.","req_id":128,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.87813,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:25Z"} authorization_1 | {"client_addr":"127.0.0.1:42564","level":"info","msg":"Sent response.","req_id":129,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.727315,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:25Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/45cb675f-8f30-4d53-92dc-9f369bcc1b42","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/45cb675f-8f30-4d53-92dc-9f369bcc1b42","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454485,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4NX0.kkUjgTZ1CkyTneMX6AtyLDJr5zXeox0kRwYOM5AFlvk"} authorization_1 | {"level":"info","message":"POST /authorize 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dea36b189493f939e8f651d460cef637"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c61fb76b-3556-4ef2-8bec-03f0da2e4c63","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/c61fb76b-3556-4ef2-8bec-03f0da2e4c63","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454485,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4NX0.kkUjgTZ1CkyTneMX6AtyLDJr5zXeox0kRwYOM5AFlvk"} 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":"dea36b189493f939e8f651d460cef637"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/2d716599-7ad6-4979-a089-283c3e990bc8? 200 40ms","method":"GET","requestID":"dea36b189493f939e8f651d460cef637","responseTime":40,"status":200,"url":"/devices/2d716599-7ad6-4979-a089-283c3e990bc8?"} gateway_1 | {"time_local":"20/Feb/2024:18:41:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2d716599-7ad6-4979-a089-283c3e990bc8? HTTP/1.1","status": "200","body_bytes_sent":"1491","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dea36b189493f939e8f651d460cef637"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4NX0.kkUjgTZ1CkyTneMX6AtyLDJr5zXeox0kRwYOM5AFlvk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0a7c5f2d0e401f136ac41f6a6a0d9da3","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":130,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:25Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":130,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.901645,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:25Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c61fb76b-3556-4ef2-8bec-03f0da2e4c63","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/c61fb76b-3556-4ef2-8bec-03f0da2e4c63","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454485,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4NX0.kkUjgTZ1CkyTneMX6AtyLDJr5zXeox0kRwYOM5AFlvk"} 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":"0a7c5f2d0e401f136ac41f6a6a0d9da3"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc61fb76b-3556-4ef2-8bec-03f0da2e4c63","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc61fb76b-3556-4ef2-8bec-03f0da2e4c63","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:24.764814008Z"}]},"request_id":"a5c0c138-c9c0-4ad6-ab66-d89c38f5b4dd","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454485.4012003} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0a7c5f2d0e401f136ac41f6a6a0d9da3"},"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:48424","level":"info","msg":"Received request.","req_id":131,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:25Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":131,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.693439,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:25Z"} authorization_1 | {"client_addr":"127.0.0.1:42522","level":"info","msg":"Received request.","req_id":132,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:25Z"} authorization_1 | {"client_addr":"127.0.0.1:42522","level":"info","msg":"Sent response.","req_id":132,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.602594,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:25Z"} authorization_1 | {"client_addr":"127.0.0.1:42532","level":"info","msg":"Received request.","req_id":133,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:25Z"} authorization_1 | {"client_addr":"127.0.0.1:42532","level":"info","msg":"Sent response.","req_id":133,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.551547,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:25Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8457693f-cf25-43b1-ab88-eb0ed59c3ab5","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/8457693f-cf25-43b1-ab88-eb0ed59c3ab5","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454485,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4NX0.kkUjgTZ1CkyTneMX6AtyLDJr5zXeox0kRwYOM5AFlvk"} 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":"0a7c5f2d0e401f136ac41f6a6a0d9da3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/35ee3f10-2736-48fd-905c-e7dc20d9a242","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/35ee3f10-2736-48fd-905c-e7dc20d9a242","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454485,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4NX0.kkUjgTZ1CkyTneMX6AtyLDJr5zXeox0kRwYOM5AFlvk"} 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":"0a7c5f2d0e401f136ac41f6a6a0d9da3"},"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/dee1cd12-97e8-44a9-9757-372d07a916c9","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/dee1cd12-97e8-44a9-9757-372d07a916c9","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454485,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4NX0.kkUjgTZ1CkyTneMX6AtyLDJr5zXeox0kRwYOM5AFlvk"} 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":"0a7c5f2d0e401f136ac41f6a6a0d9da3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"client_addr":"127.0.0.1:42540","level":"info","msg":"Received request.","req_id":134,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:25Z"} authorization_1 | {"client_addr":"127.0.0.1:42540","level":"info","msg":"Sent response.","req_id":134,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.236055,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:25Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/45cb675f-8f30-4d53-92dc-9f369bcc1b42","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/45cb675f-8f30-4d53-92dc-9f369bcc1b42","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454485,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4NX0.kkUjgTZ1CkyTneMX6AtyLDJr5zXeox0kRwYOM5AFlvk"} 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":"0a7c5f2d0e401f136ac41f6a6a0d9da3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/c61fb76b-3556-4ef2-8bec-03f0da2e4c63? 200 28ms","method":"GET","requestID":"0a7c5f2d0e401f136ac41f6a6a0d9da3","responseTime":28,"status":200,"url":"/devices/c61fb76b-3556-4ef2-8bec-03f0da2e4c63?"} gateway_1 | {"time_local":"20/Feb/2024:18:41:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c61fb76b-3556-4ef2-8bec-03f0da2e4c63? HTTP/1.1","status": "200","body_bytes_sent":"1142","request_time":"0.033","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0a7c5f2d0e401f136ac41f6a6a0d9da3"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4NX0.kkUjgTZ1CkyTneMX6AtyLDJr5zXeox0kRwYOM5AFlvk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"49e0f823a2731b7f551d3516c717e5f4","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":135,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:25Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":135,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.215505,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:25Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454485,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4NX0.kkUjgTZ1CkyTneMX6AtyLDJr5zXeox0kRwYOM5AFlvk"} 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":"49e0f823a2731b7f551d3516c717e5f4"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabef6df9-7297-4b6e-a3bd-9b1a6d45efcc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"2cc78807-273d-430a-9cfa-7606fe5deb0d","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454485.5702567} 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":"49e0f823a2731b7f551d3516c717e5f4"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"07652fc5-949d-4d26-b761-d9e2af649715","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454485.5785596} 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":"49e0f823a2731b7f551d3516c717e5f4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabef6df9-7297-4b6e-a3bd-9b1a6d45efcc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"b4ab51fb-1cce-4d05-acea-97a57206d259","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454485.6866894} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b2375acb-135b-4947-8c7e-5574c601a07a","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454485.6867952} authorization_1 | {"level":"info","message":"POST /relations/update 200 112ms","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":"49e0f823a2731b7f551d3516c717e5f4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":112}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabef6df9-7297-4b6e-a3bd-9b1a6d45efcc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabef6df9-7297-4b6e-a3bd-9b1a6d45efcc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:25.686667786Z"}]},"request_id":"efde2031-f9b8-4d7c-84c3-44ee9c065d37","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454485.693611} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"49e0f823a2731b7f551d3516c717e5f4"},"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 268ms","method":"POST","requestID":"49e0f823a2731b7f551d3516c717e5f4","responseTime":268,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"20/Feb/2024:18:41:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"284","request_time":"0.277","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"49e0f823a2731b7f551d3516c717e5f4"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4NX0.kkUjgTZ1CkyTneMX6AtyLDJr5zXeox0kRwYOM5AFlvk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e78cbd2d1cbc02006cb30adaed27ccdc","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":136,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:25Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":136,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.885267,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:25Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454485,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4NX0.kkUjgTZ1CkyTneMX6AtyLDJr5zXeox0kRwYOM5AFlvk"} 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":"e78cbd2d1cbc02006cb30adaed27ccdc"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66ad4968-4a69-4a77-b6ae-4eb0ea4f27fc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"71a30da3-046c-4394-af34-c9a8bac7093d","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454485.855299} 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":"e78cbd2d1cbc02006cb30adaed27ccdc"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ab99ca56-9895-4531-a295-4c5340e8469b","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454485.8636606} 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":"e78cbd2d1cbc02006cb30adaed27ccdc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66ad4968-4a69-4a77-b6ae-4eb0ea4f27fc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"b1bfb942-a1d9-464f-96ea-d3a04f68dcaa","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454485.9800398} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9d1f3914-a5d5-4b71-84f5-1f60bb40ffb3","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454485.9803312} authorization_1 | {"level":"info","message":"POST /relations/update 200 120ms","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":"e78cbd2d1cbc02006cb30adaed27ccdc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":120}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66ad4968-4a69-4a77-b6ae-4eb0ea4f27fc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66ad4968-4a69-4a77-b6ae-4eb0ea4f27fc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:25.980015200Z"}]},"request_id":"d52714ca-8fdb-4956-a899-074fcc99e320","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454485.9875414} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e78cbd2d1cbc02006cb30adaed27ccdc"},"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 286ms","method":"POST","requestID":"e78cbd2d1cbc02006cb30adaed27ccdc","responseTime":286,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"20/Feb/2024:18:41:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"545","request_time":"0.293","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e78cbd2d1cbc02006cb30adaed27ccdc"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4NX0.kkUjgTZ1CkyTneMX6AtyLDJr5zXeox0kRwYOM5AFlvk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"4dea787eb2fca7d3745e0992cbe09a0c","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":137,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:26Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":137,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.179984,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:26Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454485,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4NX0.kkUjgTZ1CkyTneMX6AtyLDJr5zXeox0kRwYOM5AFlvk"} 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":"4dea787eb2fca7d3745e0992cbe09a0c"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34b0e2ba-d42d-48dc-a0d9-d316fffcd8a4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d53bad89-e516-4fc4-8657-9fa356671d54","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454486.1400375} 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":"4dea787eb2fca7d3745e0992cbe09a0c"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"25074d26-5b82-42c0-8039-e3ea56c6b452","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454486.1477978} 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":"4dea787eb2fca7d3745e0992cbe09a0c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34b0e2ba-d42d-48dc-a0d9-d316fffcd8a4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"258b0ecf-a856-4533-bb23-8fcef9ebf64b","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454486.264849} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"270501df-7932-4ac5-936c-44a9675954b4","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454486.264998} authorization_1 | {"level":"info","message":"POST /relations/update 200 120ms","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":"4dea787eb2fca7d3745e0992cbe09a0c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":120}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34b0e2ba-d42d-48dc-a0d9-d316fffcd8a4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34b0e2ba-d42d-48dc-a0d9-d316fffcd8a4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:26.264827141Z"}]},"request_id":"0a638c21-e639-487d-b757-962d2c3f5611","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454486.272215} 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":"4dea787eb2fca7d3745e0992cbe09a0c"},"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 278ms","method":"POST","requestID":"4dea787eb2fca7d3745e0992cbe09a0c","responseTime":278,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"20/Feb/2024:18:41: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.310","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4dea787eb2fca7d3745e0992cbe09a0c"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"94177d2b0d1ea3209c8b2d3af1316af2","responseTime":1,"status":200,"url":"/auth"} gateway_1 | {"time_local":"20/Feb/2024:18:41:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/abef6df9-7297-4b6e-a3bd-9b1a6d45efcc/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":"94177d2b0d1ea3209c8b2d3af1316af2"} device_1 | {"level":"info","message":"OPTIONS /devices/abef6df9-7297-4b6e-a3bd-9b1a6d45efcc/websocket 200 2ms","method":"OPTIONS","requestID":"94177d2b0d1ea3209c8b2d3af1316af2","responseTime":2,"status":200,"url":"/devices/abef6df9-7297-4b6e-a3bd-9b1a6d45efcc/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4OH0.wn2W01D-uYSLhe4jqKMrs_afjCQAumgNLfUY54Bxzn0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7583d1158c59e004732593d31cc711ae","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":138,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:28Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":138,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.044193,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:28Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/abef6df9-7297-4b6e-a3bd-9b1a6d45efcc","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/abef6df9-7297-4b6e-a3bd-9b1a6d45efcc","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454488,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4OH0.wn2W01D-uYSLhe4jqKMrs_afjCQAumgNLfUY54Bxzn0"} 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":"7583d1158c59e004732593d31cc711ae"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"7cee45c2f6484e27ce4d35b60eaf02aa","responseTime":1,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"OPTIONS /devices/34b0e2ba-d42d-48dc-a0d9-d316fffcd8a4/websocket 200 1ms","method":"OPTIONS","requestID":"7cee45c2f6484e27ce4d35b60eaf02aa","responseTime":1,"status":200,"url":"/devices/34b0e2ba-d42d-48dc-a0d9-d316fffcd8a4/websocket"} gateway_1 | {"time_local":"20/Feb/2024:18:41:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/34b0e2ba-d42d-48dc-a0d9-d316fffcd8a4/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":"7cee45c2f6484e27ce4d35b60eaf02aa"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4OH0.wn2W01D-uYSLhe4jqKMrs_afjCQAumgNLfUY54Bxzn0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0a42422a7ec3744f1d043d5e24d3da87","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":139,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:28Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":139,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.950089,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:28Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/34b0e2ba-d42d-48dc-a0d9-d316fffcd8a4","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/34b0e2ba-d42d-48dc-a0d9-d316fffcd8a4","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454488,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4OH0.wn2W01D-uYSLhe4jqKMrs_afjCQAumgNLfUY54Bxzn0"} 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":"0a42422a7ec3744f1d043d5e24d3da87"},"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":"20/Feb/2024:18:41:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/abef6df9-7297-4b6e-a3bd-9b1a6d45efcc/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.163","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"7583d1158c59e004732593d31cc711ae"} device_1 | {"level":"info","message":"POST /devices/abef6df9-7297-4b6e-a3bd-9b1a6d45efcc/websocket 200 158ms","method":"POST","requestID":"7583d1158c59e004732593d31cc711ae","responseTime":158,"status":200,"url":"/devices/abef6df9-7297-4b6e-a3bd-9b1a6d45efcc/websocket"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"20/Feb/2024:18:41:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/34b0e2ba-d42d-48dc-a0d9-d316fffcd8a4/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.286","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"0a42422a7ec3744f1d043d5e24d3da87"} device_1 | {"level":"info","message":"POST /devices/34b0e2ba-d42d-48dc-a0d9-d316fffcd8a4/websocket 200 281ms","method":"POST","requestID":"0a42422a7ec3744f1d043d5e24d3da87","responseTime":281,"status":200,"url":"/devices/34b0e2ba-d42d-48dc-a0d9-d316fffcd8a4/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/abef6df9-7297-4b6e-a3bd-9b1a6d45efcc' connected"} device_1 | {"level":"info","message":"device 'http://localhost/devices/34b0e2ba-d42d-48dc-a0d9-d316fffcd8a4' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4OH0.wn2W01D-uYSLhe4jqKMrs_afjCQAumgNLfUY54Bxzn0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"27add60966502a00b9768450dc8c2b72","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":140,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:28Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":140,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.085612,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:28Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/34b0e2ba-d42d-48dc-a0d9-d316fffcd8a4","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/34b0e2ba-d42d-48dc-a0d9-d316fffcd8a4","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454488,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4OH0.wn2W01D-uYSLhe4jqKMrs_afjCQAumgNLfUY54Bxzn0"} 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":"27add60966502a00b9768450dc8c2b72"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34b0e2ba-d42d-48dc-a0d9-d316fffcd8a4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34b0e2ba-d42d-48dc-a0d9-d316fffcd8a4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:26.264827141Z"}]},"request_id":"c5d3a3d0-fed5-47eb-ae13-d1b7b4a9eb76","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454488.828594} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"27add60966502a00b9768450dc8c2b72"},"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/34b0e2ba-d42d-48dc-a0d9-d316fffcd8a4? 200 17ms","method":"GET","requestID":"27add60966502a00b9768450dc8c2b72","responseTime":17,"status":200,"url":"/devices/34b0e2ba-d42d-48dc-a0d9-d316fffcd8a4?"} gateway_1 | {"time_local":"20/Feb/2024:18:41:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/34b0e2ba-d42d-48dc-a0d9-d316fffcd8a4? 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":"27add60966502a00b9768450dc8c2b72"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4OH0.wn2W01D-uYSLhe4jqKMrs_afjCQAumgNLfUY54Bxzn0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"478ea51ca65374cc627e72638d1a919f","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:48424","level":"info","msg":"Received request.","req_id":141,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:28Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":141,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.18524,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:28Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454488,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4OH0.wn2W01D-uYSLhe4jqKMrs_afjCQAumgNLfUY54Bxzn0"} 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":"478ea51ca65374cc627e72638d1a919f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/cb303660-86ca-4dc2-ae4c-1e4f86d0871d"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/cb303660-86ca-4dc2-ae4c-1e4f86d0871d"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/cb303660-86ca-4dc2-ae4c-1e4f86d0871d"},"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:48424","level":"info","msg":"Received request.","req_id":142,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:29Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":142,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.020827,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:29Z"} authorization_1 | {"client_addr":"127.0.0.1:42522","level":"info","msg":"Received request.","req_id":143,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:29Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/66ad4968-4a69-4a77-b6ae-4eb0ea4f27fc","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/66ad4968-4a69-4a77-b6ae-4eb0ea4f27fc","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454488,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4OH0.wn2W01D-uYSLhe4jqKMrs_afjCQAumgNLfUY54Bxzn0"} 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":"a8e249f0-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:42522","level":"info","msg":"Sent response.","req_id":143,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.247053,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:29Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/34b0e2ba-d42d-48dc-a0d9-d316fffcd8a4","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/34b0e2ba-d42d-48dc-a0d9-d316fffcd8a4","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454488,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4OH0.wn2W01D-uYSLhe4jqKMrs_afjCQAumgNLfUY54Bxzn0"} 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":"a8e29810-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66ad4968-4a69-4a77-b6ae-4eb0ea4f27fc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66ad4968-4a69-4a77-b6ae-4eb0ea4f27fc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:25.980015200Z"}]},"request_id":"30f2a8a7-a926-48d3-a73c-de9312a59627","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454489.1169975} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a8e249f0-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34b0e2ba-d42d-48dc-a0d9-d316fffcd8a4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34b0e2ba-d42d-48dc-a0d9-d316fffcd8a4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:26.264827141Z"}]},"request_id":"411237a2-1d43-4cb8-a466-2cb004c7356b","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454489.1181822} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a8e29810-d01f-11ee-ad1d-cbf3af4d0136"},"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/34b0e2ba-d42d-48dc-a0d9-d316fffcd8a4? 200 19ms","method":"GET","requestID":"a8e29810-d01f-11ee-ad1d-cbf3af4d0136","responseTime":19,"status":200,"url":"/devices/34b0e2ba-d42d-48dc-a0d9-d316fffcd8a4?"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":144,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:29Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":144,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.83978,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:29Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/abef6df9-7297-4b6e-a3bd-9b1a6d45efcc","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/abef6df9-7297-4b6e-a3bd-9b1a6d45efcc","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454488,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4OH0.wn2W01D-uYSLhe4jqKMrs_afjCQAumgNLfUY54Bxzn0"} 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":"a8e249f0-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/66ad4968-4a69-4a77-b6ae-4eb0ea4f27fc? 200 25ms","method":"GET","requestID":"a8e249f0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":25,"status":200,"url":"/devices/66ad4968-4a69-4a77-b6ae-4eb0ea4f27fc?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/cb303660-86ca-4dc2-ae4c-1e4f86d0871d"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/cb303660-86ca-4dc2-ae4c-1e4f86d0871d"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/cb303660-86ca-4dc2-ae4c-1e4f86d0871d"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/cb303660-86ca-4dc2-ae4c-1e4f86d0871d"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/cb303660-86ca-4dc2-ae4c-1e4f86d0871d"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/cb303660-86ca-4dc2-ae4c-1e4f86d0871d"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/cb303660-86ca-4dc2-ae4c-1e4f86d0871d"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/cb303660-86ca-4dc2-ae4c-1e4f86d0871d"},"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:48424","level":"info","msg":"Received request.","req_id":145,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:29Z"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/cb303660-86ca-4dc2-ae4c-1e4f86d0871d"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":145,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.243399,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:29Z"} authorization_1 | {"client_addr":"127.0.0.1:42522","level":"info","msg":"Received request.","req_id":146,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:29Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/abef6df9-7297-4b6e-a3bd-9b1a6d45efcc","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/abef6df9-7297-4b6e-a3bd-9b1a6d45efcc","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454488,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4OH0.wn2W01D-uYSLhe4jqKMrs_afjCQAumgNLfUY54Bxzn0"} 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":"a923e6d0-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"client_addr":"127.0.0.1:42522","level":"info","msg":"Sent response.","req_id":146,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.613349,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:29Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/34b0e2ba-d42d-48dc-a0d9-d316fffcd8a4","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/34b0e2ba-d42d-48dc-a0d9-d316fffcd8a4","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454488,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4OH0.wn2W01D-uYSLhe4jqKMrs_afjCQAumgNLfUY54Bxzn0"} 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":"a9245c00-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabef6df9-7297-4b6e-a3bd-9b1a6d45efcc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabef6df9-7297-4b6e-a3bd-9b1a6d45efcc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:25.686667786Z"}]},"request_id":"49d66f6a-1945-4e40-8dac-d768f1e71744","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454489.5490746} 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":"a923e6d0-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34b0e2ba-d42d-48dc-a0d9-d316fffcd8a4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34b0e2ba-d42d-48dc-a0d9-d316fffcd8a4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:26.264827141Z"}]},"request_id":"7c7eb8ef-2bbe-462a-b22a-3563182ef7ff","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454489.5506413} 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":"a9245c00-d01f-11ee-ad1d-cbf3af4d0136"},"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/abef6df9-7297-4b6e-a3bd-9b1a6d45efcc? 200 24ms","method":"GET","requestID":"a923e6d0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":24,"status":200,"url":"/devices/abef6df9-7297-4b6e-a3bd-9b1a6d45efcc?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/34b0e2ba-d42d-48dc-a0d9-d316fffcd8a4? 200 23ms","method":"GET","requestID":"a9245c00-d01f-11ee-ad1d-cbf3af4d0136","responseTime":23,"status":200,"url":"/devices/34b0e2ba-d42d-48dc-a0d9-d316fffcd8a4?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":147,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:29Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":147,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.681426,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:29Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/abef6df9-7297-4b6e-a3bd-9b1a6d45efcc","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/abef6df9-7297-4b6e-a3bd-9b1a6d45efcc","object_type":"device","rebac_allow":false,"scope_allow":false,"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":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a92853a0-d01f-11ee-ad1d-cbf3af4d0136"},"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/abef6df9-7297-4b6e-a3bd-9b1a6d45efcc/signaling 200 8ms","method":"POST","requestID":"a92853a0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":8,"status":200,"url":"/devices/abef6df9-7297-4b6e-a3bd-9b1a6d45efcc/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":148,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:29Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":148,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":1.950292,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:29Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/34b0e2ba-d42d-48dc-a0d9-d316fffcd8a4","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/34b0e2ba-d42d-48dc-a0d9-d316fffcd8a4","object_type":"device","rebac_allow":false,"scope_allow":false,"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":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a92a0150-d01f-11ee-ad1d-cbf3af4d0136"},"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/34b0e2ba-d42d-48dc-a0d9-d316fffcd8a4/signaling 200 11ms","method":"POST","requestID":"a92a0150-d01f-11ee-ad1d-cbf3af4d0136","responseTime":11,"status":200,"url":"/devices/34b0e2ba-d42d-48dc-a0d9-d316fffcd8a4/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/cb303660-86ca-4dc2-ae4c-1e4f86d0871d"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/cb303660-86ca-4dc2-ae4c-1e4f86d0871d"},"level":"info","message":"Building connection plan"} experiment_1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"8148f258-3650-492c-905c-4fbf8b399bab"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"6c354c88-7b45-42f8-87c6-7e968db74d2e"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"902dee87-7172-40aa-a8fe-dce7e827fe18"}]},"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/34b0e2ba-d42d-48dc-a0d9-d316fffcd8a4"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/abef6df9-7297-4b6e-a3bd-9b1a6d45efcc"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":149,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:29Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":149,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.108456,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:29Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454488,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4OH0.wn2W01D-uYSLhe4jqKMrs_afjCQAumgNLfUY54Bxzn0"} 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":"a92c9960-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fcb303660-86ca-4dc2-ae4c-1e4f86d0871d#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fcb303660-86ca-4dc2-ae4c-1e4f86d0871d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"7e02025d-0f86-45ba-82e5-2184295b0753","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454489.6815758} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"08885b69-dc19-4e10-b618-bc217baf2687","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454489.6820364} authorization_1 | {"level":"info","message":"POST /relations/update 200 142ms","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":"478ea51ca65374cc627e72638d1a919f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":142}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","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%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"f0648d21-6675-4d96-8d39-eb1d45e7c13f","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454489.6838915} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e51aae23-88aa-49a5-884a-2eadeba5ece5","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454489.6856363} authorization_1 | {"level":"info","message":"POST /relations/update 200 90ms","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":"a92c9960-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":90}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/cb303660-86ca-4dc2-ae4c-1e4f86d0871d","user":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 856ms","method":"POST","requestID":"478ea51ca65374cc627e72638d1a919f","responseTime":856,"status":201,"url":"/experiments?"} gateway_1 | {"time_local":"20/Feb/2024:18:41:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.863","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"478ea51ca65374cc627e72638d1a919f"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4OX0.NV78uvjkWfqEQSa1bCKbRYgJvLtvrUi-dDejbA-IZuY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"83c2a54baa9dea0a9e21aa67219f28e7","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":150,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:29Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":150,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.111012,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:29Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/abef6df9-7297-4b6e-a3bd-9b1a6d45efcc","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/abef6df9-7297-4b6e-a3bd-9b1a6d45efcc","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454489,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4OX0.NV78uvjkWfqEQSa1bCKbRYgJvLtvrUi-dDejbA-IZuY"} 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":"83c2a54baa9dea0a9e21aa67219f28e7"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabef6df9-7297-4b6e-a3bd-9b1a6d45efcc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabef6df9-7297-4b6e-a3bd-9b1a6d45efcc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:25.686667786Z"}]},"request_id":"baa6c67a-4565-4f99-a155-9b10a65940ca","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454489.7193766} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"83c2a54baa9dea0a9e21aa67219f28e7"},"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/739f41ee-96d0-4bd0-bb75-be95a974dff9'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/739f41ee-96d0-4bd0-bb75-be95a974dff9'"} 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 312ms","method":"POST","requestID":"a92c9960-d01f-11ee-ad1d-cbf3af4d0136","responseTime":312,"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":"20/Feb/2024:18:41:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/abef6df9-7297-4b6e-a3bd-9b1a6d45efcc? HTTP/1.1","status": "200","body_bytes_sent":"283","request_time":"0.203","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"83c2a54baa9dea0a9e21aa67219f28e7"} device_1 | {"level":"info","message":"GET /devices/abef6df9-7297-4b6e-a3bd-9b1a6d45efcc? 200 196ms","method":"GET","requestID":"83c2a54baa9dea0a9e21aa67219f28e7","responseTime":196,"status":200,"url":"/devices/abef6df9-7297-4b6e-a3bd-9b1a6d45efcc?"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4OX0.NV78uvjkWfqEQSa1bCKbRYgJvLtvrUi-dDejbA-IZuY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"911b7f4b7174f8a5c762c50be05f68af","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":151,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:29Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":151,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.91213,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:29Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/34b0e2ba-d42d-48dc-a0d9-d316fffcd8a4","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/34b0e2ba-d42d-48dc-a0d9-d316fffcd8a4","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454489,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ4OX0.NV78uvjkWfqEQSa1bCKbRYgJvLtvrUi-dDejbA-IZuY"} 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":"911b7f4b7174f8a5c762c50be05f68af"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34b0e2ba-d42d-48dc-a0d9-d316fffcd8a4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34b0e2ba-d42d-48dc-a0d9-d316fffcd8a4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:26.264827141Z"}]},"request_id":"bdbad02d-ec4e-4762-b32e-24928c914659","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454489.9246893} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"911b7f4b7174f8a5c762c50be05f68af"},"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":"20/Feb/2024:18:41:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/34b0e2ba-d42d-48dc-a0d9-d316fffcd8a4? 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":"911b7f4b7174f8a5c762c50be05f68af"} device_1 | {"level":"info","message":"GET /devices/34b0e2ba-d42d-48dc-a0d9-d316fffcd8a4? 200 16ms","method":"GET","requestID":"911b7f4b7174f8a5c762c50be05f68af","responseTime":16,"status":200,"url":"/devices/34b0e2ba-d42d-48dc-a0d9-d316fffcd8a4?"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/739f41ee-96d0-4bd0-bb75-be95a974dff9' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"739f41ee-96d0-4bd0-bb75-be95a974dff9","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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5b42f7216f64efce889d593a15ae79a9","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/34b0e2ba-d42d-48dc-a0d9-d316fffcd8a4"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/abef6df9-7297-4b6e-a3bd-9b1a6d45efcc"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/739f41ee-96d0-4bd0-bb75-be95a974dff9"}}},"level":"info","message":"received a callback"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/cb303660-86ca-4dc2-ae4c-1e4f86d0871d"},"level":"info","message":"Successfully created peerconnections for experiment"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 44ms","method":"POST","requestID":"5b42f7216f64efce889d593a15ae79a9","responseTime":44,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:41:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch","requestID":"5b42f7216f64efce889d593a15ae79a9"} device_1 | {"data":{"peerconnection":"739f41ee-96d0-4bd0-bb75-be95a974dff9","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ5MH0.V_UNSD4IsLCak_39wm3L7QVCCAhUQgmR0HbQM6Utuv4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"babf28475f081473bd3491d3ad631aa5","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/cb303660-86ca-4dc2-ae4c-1e4f86d0871d"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":152,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:30Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":152,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.268396,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:30Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/cb303660-86ca-4dc2-ae4c-1e4f86d0871d","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/cb303660-86ca-4dc2-ae4c-1e4f86d0871d","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454490,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ5MH0.V_UNSD4IsLCak_39wm3L7QVCCAhUQgmR0HbQM6Utuv4"} 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":"babf28475f081473bd3491d3ad631aa5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"data":{"peerconnection":"739f41ee-96d0-4bd0-bb75-be95a974dff9","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/cb303660-86ca-4dc2-ae4c-1e4f86d0871d"} gateway_1 | {"time_local":"20/Feb/2024:18:41:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/cb303660-86ca-4dc2-ae4c-1e4f86d0871d HTTP/1.1","status": "200","body_bytes_sent":"878","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"babf28475f081473bd3491d3ad631aa5"} experiment_1 | {"level":"info","message":"GET /experiments/cb303660-86ca-4dc2-ae4c-1e4f86d0871d 200 17ms","method":"GET","requestID":"babf28475f081473bd3491d3ad631aa5","responseTime":17,"status":200,"url":"/experiments/cb303660-86ca-4dc2-ae4c-1e4f86d0871d"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ5MH0.V_UNSD4IsLCak_39wm3L7QVCCAhUQgmR0HbQM6Utuv4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"dbd2b90a7b26d30221d63e7b50897af9","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/cb303660-86ca-4dc2-ae4c-1e4f86d0871d"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":153,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:30Z"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/739f41ee-96d0-4bd0-bb75-be95a974dff9' to 'http://localhost/callbacks/experiment'"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":153,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.322254,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:30Z"} device_1 | {"data":{"peerconnection":"739f41ee-96d0-4bd0-bb75-be95a974dff9","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/cb303660-86ca-4dc2-ae4c-1e4f86d0871d","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/cb303660-86ca-4dc2-ae4c-1e4f86d0871d","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454490,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ5MH0.V_UNSD4IsLCak_39wm3L7QVCCAhUQgmR0HbQM6Utuv4"} 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":"dbd2b90a7b26d30221d63e7b50897af9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"191e956aece134a1bdf340d9da93ec5e","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/34b0e2ba-d42d-48dc-a0d9-d316fffcd8a4"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/abef6df9-7297-4b6e-a3bd-9b1a6d45efcc"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/739f41ee-96d0-4bd0-bb75-be95a974dff9"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/cb303660-86ca-4dc2-ae4c-1e4f86d0871d"} gateway_1 | {"time_local":"20/Feb/2024:18:41:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/cb303660-86ca-4dc2-ae4c-1e4f86d0871d HTTP/1.1","status": "200","body_bytes_sent":"878","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dbd2b90a7b26d30221d63e7b50897af9"} experiment_1 | {"level":"info","message":"GET /experiments/cb303660-86ca-4dc2-ae4c-1e4f86d0871d 200 17ms","method":"GET","requestID":"dbd2b90a7b26d30221d63e7b50897af9","responseTime":17,"status":200,"url":"/experiments/cb303660-86ca-4dc2-ae4c-1e4f86d0871d"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":154,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:30Z"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","contextual_tuples":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F739f41ee-96d0-4bd0-bb75-be95a974dff9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"38407fc1-042c-4fca-abdc-43905d654f44","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454490.530612} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":154,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.727826,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:30Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/739f41ee-96d0-4bd0-bb75-be95a974dff9","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/739f41ee-96d0-4bd0-bb75-be95a974dff9","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":"a9bb44d0-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ5MH0.V_UNSD4IsLCak_39wm3L7QVCCAhUQgmR0HbQM6Utuv4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5520e74a66febc6468e47e75353ba011","responseTime":3,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/cb303660-86ca-4dc2-ae4c-1e4f86d0871d"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":155,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:30Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":155,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.108063,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:30Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/cb303660-86ca-4dc2-ae4c-1e4f86d0871d","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/cb303660-86ca-4dc2-ae4c-1e4f86d0871d","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454490,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ5MH0.V_UNSD4IsLCak_39wm3L7QVCCAhUQgmR0HbQM6Utuv4"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"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":"5520e74a66febc6468e47e75353ba011"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"GET /peerconnections/739f41ee-96d0-4bd0-bb75-be95a974dff9 200 112ms","method":"GET","requestID":"a9bb44d0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":112,"status":200,"url":"/peerconnections/739f41ee-96d0-4bd0-bb75-be95a974dff9"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/cb303660-86ca-4dc2-ae4c-1e4f86d0871d"} gateway_1 | {"time_local":"20/Feb/2024:18:41:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/cb303660-86ca-4dc2-ae4c-1e4f86d0871d HTTP/1.1","status": "200","body_bytes_sent":"878","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5520e74a66febc6468e47e75353ba011"} experiment_1 | {"level":"info","message":"GET /experiments/cb303660-86ca-4dc2-ae4c-1e4f86d0871d 200 21ms","method":"GET","requestID":"5520e74a66febc6468e47e75353ba011","responseTime":21,"status":200,"url":"/experiments/cb303660-86ca-4dc2-ae4c-1e4f86d0871d"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ5MH0.V_UNSD4IsLCak_39wm3L7QVCCAhUQgmR0HbQM6Utuv4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"bd88038128af97902e351207f329b83f","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/cb303660-86ca-4dc2-ae4c-1e4f86d0871d"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 245ms","method":"POST","requestID":"191e956aece134a1bdf340d9da93ec5e","responseTime":245,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:41:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.249","http_referrer":"","http_user_agent":"node-fetch","requestID":"191e956aece134a1bdf340d9da93ec5e"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":156,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:30Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":156,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.328955,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:30Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/cb303660-86ca-4dc2-ae4c-1e4f86d0871d","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/cb303660-86ca-4dc2-ae4c-1e4f86d0871d","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454490,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ5MH0.V_UNSD4IsLCak_39wm3L7QVCCAhUQgmR0HbQM6Utuv4"} 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":"bd88038128af97902e351207f329b83f"},"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/cb303660-86ca-4dc2-ae4c-1e4f86d0871d"} gateway_1 | {"time_local":"20/Feb/2024:18:41:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/cb303660-86ca-4dc2-ae4c-1e4f86d0871d HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bd88038128af97902e351207f329b83f"} experiment_1 | {"level":"info","message":"GET /experiments/cb303660-86ca-4dc2-ae4c-1e4f86d0871d 200 16ms","method":"GET","requestID":"bd88038128af97902e351207f329b83f","responseTime":16,"status":200,"url":"/experiments/cb303660-86ca-4dc2-ae4c-1e4f86d0871d"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ5MH0.V_UNSD4IsLCak_39wm3L7QVCCAhUQgmR0HbQM6Utuv4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b706aa81ba8fb9a0e46abef003b822de","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/cb303660-86ca-4dc2-ae4c-1e4f86d0871d"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":157,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:30Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":157,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.992546,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:30Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/cb303660-86ca-4dc2-ae4c-1e4f86d0871d","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/cb303660-86ca-4dc2-ae4c-1e4f86d0871d","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454490,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ5MH0.V_UNSD4IsLCak_39wm3L7QVCCAhUQgmR0HbQM6Utuv4"} 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":"b706aa81ba8fb9a0e46abef003b822de"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/cb303660-86ca-4dc2-ae4c-1e4f86d0871d"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":158,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:30Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":158,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.209161,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:30Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/739f41ee-96d0-4bd0-bb75-be95a974dff9","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"peerconnection:http://localhost/peerconnections/739f41ee-96d0-4bd0-bb75-be95a974dff9","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454490,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ5MH0.V_UNSD4IsLCak_39wm3L7QVCCAhUQgmR0HbQM6Utuv4"} 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":"a9e49ec0-d01f-11ee-ad1d-cbf3af4d0136"},"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/739f41ee-96d0-4bd0-bb75-be95a974dff9' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/739f41ee-96d0-4bd0-bb75-be95a974dff9' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"739f41ee-96d0-4bd0-bb75-be95a974dff9","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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"b15cf71a5bb2880dbbefb5ea6d392602","responseTime":0,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/34b0e2ba-d42d-48dc-a0d9-d316fffcd8a4"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/abef6df9-7297-4b6e-a3bd-9b1a6d45efcc"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/739f41ee-96d0-4bd0-bb75-be95a974dff9"}}},"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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"1e1a5b82b23c265375f6707cad85bc97","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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f40f6f4e-28fb-41a2-9714-d17ba1019f62","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454490.8257668} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F739f41ee-96d0-4bd0-bb75-be95a974dff9': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F739f41ee-96d0-4bd0-bb75-be95a974dff9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]},"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":null},"raw_response":{},"request_id":"ec2a6f97-70bf-470a-b7dd-56363478dc80","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454490.8261151} 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/34b0e2ba-d42d-48dc-a0d9-d316fffcd8a4"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/abef6df9-7297-4b6e-a3bd-9b1a6d45efcc"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/739f41ee-96d0-4bd0-bb75-be95a974dff9"}}},"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":"a9e49ec0-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} device_1 | {"data":{"peerconnection":"739f41ee-96d0-4bd0-bb75-be95a974dff9","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/739f41ee-96d0-4bd0-bb75-be95a974dff9 204 259ms","method":"DELETE","requestID":"a9e49ec0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":259,"status":204,"url":"/peerconnections/739f41ee-96d0-4bd0-bb75-be95a974dff9"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/cb303660-86ca-4dc2-ae4c-1e4f86d0871d"},"level":"info","message":"Successfully finished experiment"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fcb303660-86ca-4dc2-ae4c-1e4f86d0871d': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fcb303660-86ca-4dc2-ae4c-1e4f86d0871d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]},"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":null},"raw_response":{},"request_id":"c90b6a95-1142-4397-bbaf-9f1a12f54656","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454491.2755811} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2d8bc99a-93a8-4b07-aada-9abaa2060852","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454491.2761638} authorization_1 | {"level":"info","message":"POST /relations/update 200 97ms","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":"b706aa81ba8fb9a0e46abef003b822de"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":97}} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/cb303660-86ca-4dc2-ae4c-1e4f86d0871d"} gateway_1 | {"time_local":"20/Feb/2024:18:41:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/cb303660-86ca-4dc2-ae4c-1e4f86d0871d HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"1.135","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b706aa81ba8fb9a0e46abef003b822de"} experiment_1 | {"level":"info","message":"DELETE /experiments/cb303660-86ca-4dc2-ae4c-1e4f86d0871d 204 1132ms","method":"DELETE","requestID":"b706aa81ba8fb9a0e46abef003b822de","responseTime":1132,"status":204,"url":"/experiments/cb303660-86ca-4dc2-ae4c-1e4f86d0871d"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1093ms","method":"POST","requestID":"b15cf71a5bb2880dbbefb5ea6d392602","responseTime":1093,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:41: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":"1.096","http_referrer":"","http_user_agent":"node-fetch","requestID":"b15cf71a5bb2880dbbefb5ea6d392602"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1093ms","method":"POST","requestID":"1e1a5b82b23c265375f6707cad85bc97","responseTime":1093,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:41: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":"1.098","http_referrer":"","http_user_agent":"node-fetch","requestID":"1e1a5b82b23c265375f6707cad85bc97"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ5MX0.pYkhiwXug1Yt3_d81SIzNZf4woY-Rxrjd6fzVKdqpgA","level":"info","message":"auth send jwt"} gateway_1 | {"time_local":"20/Feb/2024:18:41:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1756","request_time":"3.393","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"c0878c72eda6d747de067e4316298811"} gateway_1 | {"time_local":"20/Feb/2024:18:41:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1488","request_time":"3.539","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"ab1aded976c92e6b24dc3487e4eca2a5"} authentication_1 | {"level":"info","message":"GET /auth 200 11ms","method":"GET","requestID":"12b7908242494dd98dbfd8b104a0cb24","responseTime":11,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":159,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:31Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":159,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.848741,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:31Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454491,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ5MX0.pYkhiwXug1Yt3_d81SIzNZf4woY-Rxrjd6fzVKdqpgA"} 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":"12b7908242494dd98dbfd8b104a0cb24"},"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/34b0e2ba-d42d-48dc-a0d9-d316fffcd8a4' 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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9accb580-f8f2-43f7-b10c-091bd9bc96c1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"3d6047c4-1b40-4d51-a80d-7d05a322e8ca","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454492.260558} 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":"12b7908242494dd98dbfd8b104a0cb24"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"89aad366-31ac-4ef9-a1f4-3dd389d0a130","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454492.267645} 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":"12b7908242494dd98dbfd8b104a0cb24"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/abef6df9-7297-4b6e-a3bd-9b1a6d45efcc' closed"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9accb580-f8f2-43f7-b10c-091bd9bc96c1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"d07a7e1c-4e11-4505-bd4b-8bea2c2591cc","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454492.5247226} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4ffe8ab8-f855-4adb-ae14-e22e39a5a8d3","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454492.52502} authorization_1 | {"level":"info","message":"POST /relations/update 200 261ms","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":"12b7908242494dd98dbfd8b104a0cb24"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":261}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9accb580-f8f2-43f7-b10c-091bd9bc96c1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9accb580-f8f2-43f7-b10c-091bd9bc96c1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:32.524685066Z"}]},"request_id":"5f17dae5-147e-4517-9559-b3c16514b0f9","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454492.5327404} 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":"12b7908242494dd98dbfd8b104a0cb24"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 608ms","method":"POST","requestID":"12b7908242494dd98dbfd8b104a0cb24","responseTime":608,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"20/Feb/2024:18:41: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.624","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"12b7908242494dd98dbfd8b104a0cb24"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ5Mn0.s1tmQPh48IFSIOuhVcjxHrIyhGzJRt9Pmw_bVa1ubrU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5d3eb8ef149a389ee6cb2213625d5634","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":160,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:32Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":160,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.745149,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:32Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454492,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ5Mn0.s1tmQPh48IFSIOuhVcjxHrIyhGzJRt9Pmw_bVa1ubrU"} 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":"5d3eb8ef149a389ee6cb2213625d5634"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F61b1377a-074c-4e42-bcc8-45647a38fbe7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"5eee1baf-fc52-45f3-b60a-08ac6f590b91","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454492.7097094} 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":"5d3eb8ef149a389ee6cb2213625d5634"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0c817ce9-d971-4a31-a78b-ccc7bfb53ae8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454492.7174244} 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":"5d3eb8ef149a389ee6cb2213625d5634"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F61b1377a-074c-4e42-bcc8-45647a38fbe7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"a53affad-d5f1-47c2-865c-e6c906270c4c","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454492.8511605} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7d8e81db-17c4-41a3-92aa-8bf1a2d0f2a9","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454492.8514795} authorization_1 | {"level":"info","message":"POST /relations/update 200 137ms","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":"5d3eb8ef149a389ee6cb2213625d5634"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":137}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F61b1377a-074c-4e42-bcc8-45647a38fbe7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F61b1377a-074c-4e42-bcc8-45647a38fbe7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:32.851134480Z"}]},"request_id":"e98b52de-6578-4168-8a74-fa312e4813bd","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454492.8586826} 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":"5d3eb8ef149a389ee6cb2213625d5634"},"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 316ms","method":"POST","requestID":"5d3eb8ef149a389ee6cb2213625d5634","responseTime":316,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"20/Feb/2024:18:41: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.352","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5d3eb8ef149a389ee6cb2213625d5634"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5d14ab98fe294d8fa43c578c834427e3","responseTime":1,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"OPTIONS /devices/9accb580-f8f2-43f7-b10c-091bd9bc96c1/websocket 200 2ms","method":"OPTIONS","requestID":"5d14ab98fe294d8fa43c578c834427e3","responseTime":2,"status":200,"url":"/devices/9accb580-f8f2-43f7-b10c-091bd9bc96c1/websocket"} gateway_1 | {"time_local":"20/Feb/2024:18:41:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/9accb580-f8f2-43f7-b10c-091bd9bc96c1/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":"5d14ab98fe294d8fa43c578c834427e3"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"a8aa9610c449891cbd4e26eb322e62ee","responseTime":1,"status":200,"url":"/auth"} gateway_1 | {"time_local":"20/Feb/2024:18:41:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/61b1377a-074c-4e42-bcc8-45647a38fbe7/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":"a8aa9610c449891cbd4e26eb322e62ee"} device_1 | {"level":"info","message":"OPTIONS /devices/61b1377a-074c-4e42-bcc8-45647a38fbe7/websocket 200 1ms","method":"OPTIONS","requestID":"a8aa9610c449891cbd4e26eb322e62ee","responseTime":1,"status":200,"url":"/devices/61b1377a-074c-4e42-bcc8-45647a38fbe7/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ5NH0.P7Ifdc-FZYQMcSM8XqAtYflO-h6W_mkp_lx4pj5TNKM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9d0a66ef37a8ff587f38c79175dab697","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":161,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:34Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":161,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.804856,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:34Z"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ5NH0.P7Ifdc-FZYQMcSM8XqAtYflO-h6W_mkp_lx4pj5TNKM","level":"info","message":"auth send jwt"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9accb580-f8f2-43f7-b10c-091bd9bc96c1","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/9accb580-f8f2-43f7-b10c-091bd9bc96c1","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454494,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ5NH0.P7Ifdc-FZYQMcSM8XqAtYflO-h6W_mkp_lx4pj5TNKM"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e36e3a8748f5f5ec1f12dd7689028236","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":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9d0a66ef37a8ff587f38c79175dab697"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":162,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:34Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":162,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.836542,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:34Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/61b1377a-074c-4e42-bcc8-45647a38fbe7","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/61b1377a-074c-4e42-bcc8-45647a38fbe7","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454494,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ5NH0.P7Ifdc-FZYQMcSM8XqAtYflO-h6W_mkp_lx4pj5TNKM"} 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":"e36e3a8748f5f5ec1f12dd7689028236"},"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":"20/Feb/2024:18:41:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/9accb580-f8f2-43f7-b10c-091bd9bc96c1/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.207","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"9d0a66ef37a8ff587f38c79175dab697"} device_1 | {"level":"info","message":"POST /devices/9accb580-f8f2-43f7-b10c-091bd9bc96c1/websocket 200 200ms","method":"POST","requestID":"9d0a66ef37a8ff587f38c79175dab697","responseTime":200,"status":200,"url":"/devices/9accb580-f8f2-43f7-b10c-091bd9bc96c1/websocket"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device_1 | {"level":"info","message":"POST /devices/61b1377a-074c-4e42-bcc8-45647a38fbe7/websocket 200 336ms","method":"POST","requestID":"e36e3a8748f5f5ec1f12dd7689028236","responseTime":336,"status":200,"url":"/devices/61b1377a-074c-4e42-bcc8-45647a38fbe7/websocket"} gateway_1 | {"time_local":"20/Feb/2024:18:41:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/61b1377a-074c-4e42-bcc8-45647a38fbe7/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.344","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"e36e3a8748f5f5ec1f12dd7689028236"} device_1 | {"level":"info","message":"device 'http://localhost/devices/9accb580-f8f2-43f7-b10c-091bd9bc96c1' connected"} device_1 | {"level":"info","message":"device 'http://localhost/devices/61b1377a-074c-4e42-bcc8-45647a38fbe7' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ5NX0.CsQ7ruKlwXK698tx8sBhKbRfhv7o9EpObvZsAm35OD4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"ad3ddcb16dc42072a1bd02cd0da50a9d","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":163,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:35Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":163,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.751723,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:35Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9accb580-f8f2-43f7-b10c-091bd9bc96c1","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/9accb580-f8f2-43f7-b10c-091bd9bc96c1","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454495,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ5NX0.CsQ7ruKlwXK698tx8sBhKbRfhv7o9EpObvZsAm35OD4"} 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":"ad3ddcb16dc42072a1bd02cd0da50a9d"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9accb580-f8f2-43f7-b10c-091bd9bc96c1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9accb580-f8f2-43f7-b10c-091bd9bc96c1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:32.524685066Z"}]},"request_id":"82ea94a3-bcb2-46dc-adb4-0a82cf5c89aa","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454495.4648714} 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":"ad3ddcb16dc42072a1bd02cd0da50a9d"},"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":"20/Feb/2024:18:41:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9accb580-f8f2-43f7-b10c-091bd9bc96c1? 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":"ad3ddcb16dc42072a1bd02cd0da50a9d"} device_1 | {"level":"info","message":"GET /devices/9accb580-f8f2-43f7-b10c-091bd9bc96c1? 200 17ms","method":"GET","requestID":"ad3ddcb16dc42072a1bd02cd0da50a9d","responseTime":17,"status":200,"url":"/devices/9accb580-f8f2-43f7-b10c-091bd9bc96c1?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ5NX0.CsQ7ruKlwXK698tx8sBhKbRfhv7o9EpObvZsAm35OD4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"21b0d63718e8beff2e556dee96d01669","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":164,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:35Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":164,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.037323,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:35Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/61b1377a-074c-4e42-bcc8-45647a38fbe7","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/61b1377a-074c-4e42-bcc8-45647a38fbe7","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454495,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ5NX0.CsQ7ruKlwXK698tx8sBhKbRfhv7o9EpObvZsAm35OD4"} 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":"21b0d63718e8beff2e556dee96d01669"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F61b1377a-074c-4e42-bcc8-45647a38fbe7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F61b1377a-074c-4e42-bcc8-45647a38fbe7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:32.851134480Z"}]},"request_id":"6d7c23ca-6210-4192-b2ba-dfcd369adde0","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454495.4875374} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"21b0d63718e8beff2e556dee96d01669"},"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":"20/Feb/2024:18:41:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/61b1377a-074c-4e42-bcc8-45647a38fbe7? 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":"21b0d63718e8beff2e556dee96d01669"} device_1 | {"level":"info","message":"GET /devices/61b1377a-074c-4e42-bcc8-45647a38fbe7? 200 16ms","method":"GET","requestID":"21b0d63718e8beff2e556dee96d01669","responseTime":16,"status":200,"url":"/devices/61b1377a-074c-4e42-bcc8-45647a38fbe7?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ5NX0.CsQ7ruKlwXK698tx8sBhKbRfhv7o9EpObvZsAm35OD4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"76e89f294f7694d17220b4cb58b8fcf0","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:48424","level":"info","msg":"Received request.","req_id":165,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:35Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":165,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.275125,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:35Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454495,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ5NX0.CsQ7ruKlwXK698tx8sBhKbRfhv7o9EpObvZsAm35OD4"} 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":"76e89f294f7694d17220b4cb58b8fcf0"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/534475f7-0b25-48fc-87f6-acb1767ca4dd"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/534475f7-0b25-48fc-87f6-acb1767ca4dd"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/534475f7-0b25-48fc-87f6-acb1767ca4dd"},"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:48424","level":"info","msg":"Received request.","req_id":166,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:35Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":166,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.470886,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:35Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9accb580-f8f2-43f7-b10c-091bd9bc96c1","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/9accb580-f8f2-43f7-b10c-091bd9bc96c1","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454495,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ5NX0.CsQ7ruKlwXK698tx8sBhKbRfhv7o9EpObvZsAm35OD4"} 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":"acdd1e40-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:40916","level":"info","msg":"Received request.","req_id":167,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:35Z"} authorization_1 | {"client_addr":"127.0.0.1:40916","level":"info","msg":"Sent response.","req_id":167,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.210442,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:35Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/61b1377a-074c-4e42-bcc8-45647a38fbe7","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/61b1377a-074c-4e42-bcc8-45647a38fbe7","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454495,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ5NX0.CsQ7ruKlwXK698tx8sBhKbRfhv7o9EpObvZsAm35OD4"} 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":"acdd9370-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9accb580-f8f2-43f7-b10c-091bd9bc96c1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9accb580-f8f2-43f7-b10c-091bd9bc96c1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:32.524685066Z"}]},"request_id":"4b561377-9972-442a-8def-91731141dd2a","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454495.7940874} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"acdd1e40-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F61b1377a-074c-4e42-bcc8-45647a38fbe7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F61b1377a-074c-4e42-bcc8-45647a38fbe7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:32.851134480Z"}]},"request_id":"9400e97a-feeb-4bc2-a077-9ceb03a67983","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454495.7978234} 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":"acdd9370-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"GET /devices/9accb580-f8f2-43f7-b10c-091bd9bc96c1? 200 19ms","method":"GET","requestID":"acdd1e40-d01f-11ee-ad1d-cbf3af4d0136","responseTime":19,"status":200,"url":"/devices/9accb580-f8f2-43f7-b10c-091bd9bc96c1?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/61b1377a-074c-4e42-bcc8-45647a38fbe7? 200 20ms","method":"GET","requestID":"acdd9370-d01f-11ee-ad1d-cbf3af4d0136","responseTime":20,"status":200,"url":"/devices/61b1377a-074c-4e42-bcc8-45647a38fbe7?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/534475f7-0b25-48fc-87f6-acb1767ca4dd"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/534475f7-0b25-48fc-87f6-acb1767ca4dd"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/534475f7-0b25-48fc-87f6-acb1767ca4dd"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/534475f7-0b25-48fc-87f6-acb1767ca4dd"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/534475f7-0b25-48fc-87f6-acb1767ca4dd"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/534475f7-0b25-48fc-87f6-acb1767ca4dd"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/534475f7-0b25-48fc-87f6-acb1767ca4dd"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/534475f7-0b25-48fc-87f6-acb1767ca4dd"},"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/534475f7-0b25-48fc-87f6-acb1767ca4dd"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":168,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:36Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":168,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.539361,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:36Z"} authorization_1 | {"client_addr":"127.0.0.1:40916","level":"info","msg":"Received request.","req_id":169,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:36Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9accb580-f8f2-43f7-b10c-091bd9bc96c1","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/9accb580-f8f2-43f7-b10c-091bd9bc96c1","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454495,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ5NX0.CsQ7ruKlwXK698tx8sBhKbRfhv7o9EpObvZsAm35OD4"} 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":"ad1c4a20-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:40916","level":"info","msg":"Sent response.","req_id":169,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.13381,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:36Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/61b1377a-074c-4e42-bcc8-45647a38fbe7","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/61b1377a-074c-4e42-bcc8-45647a38fbe7","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454495,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ5NX0.CsQ7ruKlwXK698tx8sBhKbRfhv7o9EpObvZsAm35OD4"} 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":"ad1c9840-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9accb580-f8f2-43f7-b10c-091bd9bc96c1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9accb580-f8f2-43f7-b10c-091bd9bc96c1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:32.524685066Z"}]},"request_id":"a8d77842-a814-4aea-9a12-f8574ef2580c","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454496.2090206} 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":"ad1c4a20-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F61b1377a-074c-4e42-bcc8-45647a38fbe7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F61b1377a-074c-4e42-bcc8-45647a38fbe7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:32.851134480Z"}]},"request_id":"5e211d30-414f-4b42-9b38-ab7dab820494","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454496.2105596} 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":"ad1c9840-d01f-11ee-ad1d-cbf3af4d0136"},"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/9accb580-f8f2-43f7-b10c-091bd9bc96c1? 200 22ms","method":"GET","requestID":"ad1c4a20-d01f-11ee-ad1d-cbf3af4d0136","responseTime":22,"status":200,"url":"/devices/9accb580-f8f2-43f7-b10c-091bd9bc96c1?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/61b1377a-074c-4e42-bcc8-45647a38fbe7? 200 21ms","method":"GET","requestID":"ad1c9840-d01f-11ee-ad1d-cbf3af4d0136","responseTime":21,"status":200,"url":"/devices/61b1377a-074c-4e42-bcc8-45647a38fbe7?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":170,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:36Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":170,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":1.180115,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:36Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/9accb580-f8f2-43f7-b10c-091bd9bc96c1","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9accb580-f8f2-43f7-b10c-091bd9bc96c1","object_type":"device","rebac_allow":false,"scope_allow":false,"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":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ad2041c0-d01f-11ee-ad1d-cbf3af4d0136"},"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/9accb580-f8f2-43f7-b10c-091bd9bc96c1/signaling 200 8ms","method":"POST","requestID":"ad2041c0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":8,"status":200,"url":"/devices/9accb580-f8f2-43f7-b10c-091bd9bc96c1/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":171,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:36Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":171,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.914483,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:36Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/61b1377a-074c-4e42-bcc8-45647a38fbe7","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/61b1377a-074c-4e42-bcc8-45647a38fbe7","object_type":"device","rebac_allow":false,"scope_allow":false,"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":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ad21ef70-d01f-11ee-ad1d-cbf3af4d0136"},"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/61b1377a-074c-4e42-bcc8-45647a38fbe7/signaling 200 9ms","method":"POST","requestID":"ad21ef70-d01f-11ee-ad1d-cbf3af4d0136","responseTime":9,"status":200,"url":"/devices/61b1377a-074c-4e42-bcc8-45647a38fbe7/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/534475f7-0b25-48fc-87f6-acb1767ca4dd"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/534475f7-0b25-48fc-87f6-acb1767ca4dd"},"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":"9633637d-e298-45b3-83a5-66c610ff7d59"},{"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":"0b96d76a-296d-43db-b641-53ff508aac9d"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"c60b8378-e898-4f45-95d1-ea361669cadf"}]},"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/61b1377a-074c-4e42-bcc8-45647a38fbe7"},{"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/9accb580-f8f2-43f7-b10c-091bd9bc96c1"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":172,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:36Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":172,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.07171,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:36Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454495,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ5NX0.CsQ7ruKlwXK698tx8sBhKbRfhv7o9EpObvZsAm35OD4"} 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":"ad241250-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F534475f7-0b25-48fc-87f6-acb1767ca4dd#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F534475f7-0b25-48fc-87f6-acb1767ca4dd","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"52aa28db-bed3-4741-9527-0c882482897f","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454496.3346546} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"62834da1-2aa3-4cbc-9e41-b7ed50648b31","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454496.335194} authorization_1 | {"level":"info","message":"POST /relations/update 200 133ms","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":"76e89f294f7694d17220b4cb58b8fcf0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":133}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","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%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"82677c6f-7ce7-4a27-bc9d-7058741e5732","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454496.336725} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"37662c54-4bff-4717-a5aa-3e4d11f045e8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454496.337296} authorization_1 | {"level":"info","message":"POST /relations/update 200 80ms","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":"ad241250-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":80}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/534475f7-0b25-48fc-87f6-acb1767ca4dd","user":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 847ms","method":"POST","requestID":"76e89f294f7694d17220b4cb58b8fcf0","responseTime":847,"status":201,"url":"/experiments?"} gateway_1 | {"time_local":"20/Feb/2024:18:41:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1287","request_time":"0.855","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"76e89f294f7694d17220b4cb58b8fcf0"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ5Nn0._rIHs9SdEywYNI6tDedxh1WxeVIE4PVz5SprgI7grkY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"dd1d375dcd3b71142f6e4b8f15858b59","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":173,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:36Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":173,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.865316,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:36Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9accb580-f8f2-43f7-b10c-091bd9bc96c1","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/9accb580-f8f2-43f7-b10c-091bd9bc96c1","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454496,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ5Nn0._rIHs9SdEywYNI6tDedxh1WxeVIE4PVz5SprgI7grkY"} 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":"dd1d375dcd3b71142f6e4b8f15858b59"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9accb580-f8f2-43f7-b10c-091bd9bc96c1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9accb580-f8f2-43f7-b10c-091bd9bc96c1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:32.524685066Z"}]},"request_id":"fc6fed4f-1207-4382-ad90-71e463499455","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454496.3672101} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dd1d375dcd3b71142f6e4b8f15858b59"},"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/f88157de-5a56-4649-84db-2d7b7f93631e'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/f88157de-5a56-4649-84db-2d7b7f93631e'"} 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 241ms","method":"POST","requestID":"ad241250-d01f-11ee-ad1d-cbf3af4d0136","responseTime":241,"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":"20/Feb/2024:18:41:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9accb580-f8f2-43f7-b10c-091bd9bc96c1? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.138","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dd1d375dcd3b71142f6e4b8f15858b59"} device_1 | {"level":"info","message":"GET /devices/9accb580-f8f2-43f7-b10c-091bd9bc96c1? 200 133ms","method":"GET","requestID":"dd1d375dcd3b71142f6e4b8f15858b59","responseTime":133,"status":200,"url":"/devices/9accb580-f8f2-43f7-b10c-091bd9bc96c1?"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ5Nn0._rIHs9SdEywYNI6tDedxh1WxeVIE4PVz5SprgI7grkY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"594f8f0d3f55a04c98ca39f7c22cf264","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":174,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:36Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":174,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.910395,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:36Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/61b1377a-074c-4e42-bcc8-45647a38fbe7","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/61b1377a-074c-4e42-bcc8-45647a38fbe7","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454496,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ5Nn0._rIHs9SdEywYNI6tDedxh1WxeVIE4PVz5SprgI7grkY"} 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":"594f8f0d3f55a04c98ca39f7c22cf264"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F61b1377a-074c-4e42-bcc8-45647a38fbe7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F61b1377a-074c-4e42-bcc8-45647a38fbe7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:32.851134480Z"}]},"request_id":"71ba1447-c500-41ee-8cad-000011cdec3c","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454496.5082116} 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":"594f8f0d3f55a04c98ca39f7c22cf264"},"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/61b1377a-074c-4e42-bcc8-45647a38fbe7? 200 14ms","method":"GET","requestID":"594f8f0d3f55a04c98ca39f7c22cf264","responseTime":14,"status":200,"url":"/devices/61b1377a-074c-4e42-bcc8-45647a38fbe7?"} gateway_1 | {"time_local":"20/Feb/2024:18:41:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/61b1377a-074c-4e42-bcc8-45647a38fbe7? 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":"594f8f0d3f55a04c98ca39f7c22cf264"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/f88157de-5a56-4649-84db-2d7b7f93631e' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"f88157de-5a56-4649-84db-2d7b7f93631e","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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c477e5c7945156b7036725e9ef691682","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/61b1377a-074c-4e42-bcc8-45647a38fbe7"},{"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/9accb580-f8f2-43f7-b10c-091bd9bc96c1"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/f88157de-5a56-4649-84db-2d7b7f93631e"}}},"level":"info","message":"received a callback"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/534475f7-0b25-48fc-87f6-acb1767ca4dd"},"level":"info","message":"Successfully created peerconnections for experiment"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 88ms","method":"POST","requestID":"c477e5c7945156b7036725e9ef691682","responseTime":88,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:41:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.091","http_referrer":"","http_user_agent":"node-fetch","requestID":"c477e5c7945156b7036725e9ef691682"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ5Nn0._rIHs9SdEywYNI6tDedxh1WxeVIE4PVz5SprgI7grkY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"c0f5cdcab3f1e58e9d7208ca223fe0b6","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/534475f7-0b25-48fc-87f6-acb1767ca4dd"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":175,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:36Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":175,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.186968,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:36Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/534475f7-0b25-48fc-87f6-acb1767ca4dd","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/534475f7-0b25-48fc-87f6-acb1767ca4dd","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454496,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ5Nn0._rIHs9SdEywYNI6tDedxh1WxeVIE4PVz5SprgI7grkY"} 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":"c0f5cdcab3f1e58e9d7208ca223fe0b6"},"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/534475f7-0b25-48fc-87f6-acb1767ca4dd"} gateway_1 | {"time_local":"20/Feb/2024:18:41:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/534475f7-0b25-48fc-87f6-acb1767ca4dd HTTP/1.1","status": "200","body_bytes_sent":"1358","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c0f5cdcab3f1e58e9d7208ca223fe0b6"} experiment_1 | {"level":"info","message":"GET /experiments/534475f7-0b25-48fc-87f6-acb1767ca4dd 200 18ms","method":"GET","requestID":"c0f5cdcab3f1e58e9d7208ca223fe0b6","responseTime":18,"status":200,"url":"/experiments/534475f7-0b25-48fc-87f6-acb1767ca4dd"} device_1 | {"data":{"peerconnection":"f88157de-5a56-4649-84db-2d7b7f93631e","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ5Nn0._rIHs9SdEywYNI6tDedxh1WxeVIE4PVz5SprgI7grkY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"b234dd19817207044568dc7b13143601","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/534475f7-0b25-48fc-87f6-acb1767ca4dd"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":176,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:36Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":176,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.225346,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:36Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/534475f7-0b25-48fc-87f6-acb1767ca4dd","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/534475f7-0b25-48fc-87f6-acb1767ca4dd","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454496,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ5Nn0._rIHs9SdEywYNI6tDedxh1WxeVIE4PVz5SprgI7grkY"} 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":"b234dd19817207044568dc7b13143601"},"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/534475f7-0b25-48fc-87f6-acb1767ca4dd"} experiment_1 | {"level":"info","message":"GET /experiments/534475f7-0b25-48fc-87f6-acb1767ca4dd 200 16ms","method":"GET","requestID":"b234dd19817207044568dc7b13143601","responseTime":16,"status":200,"url":"/experiments/534475f7-0b25-48fc-87f6-acb1767ca4dd"} gateway_1 | {"time_local":"20/Feb/2024:18:41:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/534475f7-0b25-48fc-87f6-acb1767ca4dd HTTP/1.1","status": "200","body_bytes_sent":"1358","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b234dd19817207044568dc7b13143601"} device_1 | {"data":{"peerconnection":"f88157de-5a56-4649-84db-2d7b7f93631e","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ5N30.E-Z49cqGDbyRQWlK7lc5FR8SoNFZYpOJMR1vKmJR6W0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9d709f032e5e958a30b9f153d88b02dd","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/534475f7-0b25-48fc-87f6-acb1767ca4dd"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":177,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:37Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":177,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.205309,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:37Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/534475f7-0b25-48fc-87f6-acb1767ca4dd","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/534475f7-0b25-48fc-87f6-acb1767ca4dd","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454497,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ5N30.E-Z49cqGDbyRQWlK7lc5FR8SoNFZYpOJMR1vKmJR6W0"} 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":"9d709f032e5e958a30b9f153d88b02dd"},"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/534475f7-0b25-48fc-87f6-acb1767ca4dd"} gateway_1 | {"time_local":"20/Feb/2024:18:41:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/534475f7-0b25-48fc-87f6-acb1767ca4dd HTTP/1.1","status": "200","body_bytes_sent":"1358","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9d709f032e5e958a30b9f153d88b02dd"} experiment_1 | {"level":"info","message":"GET /experiments/534475f7-0b25-48fc-87f6-acb1767ca4dd 200 17ms","method":"GET","requestID":"9d709f032e5e958a30b9f153d88b02dd","responseTime":17,"status":200,"url":"/experiments/534475f7-0b25-48fc-87f6-acb1767ca4dd"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/f88157de-5a56-4649-84db-2d7b7f93631e' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"f88157de-5a56-4649-84db-2d7b7f93631e","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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"b2ba1cb80437eda6242d7b0ef849d2f0","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":"connected","url":"http://localhost/devices/61b1377a-074c-4e42-bcc8-45647a38fbe7"},{"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/9accb580-f8f2-43f7-b10c-091bd9bc96c1"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/f88157de-5a56-4649-84db-2d7b7f93631e"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":178,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:37Z"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","contextual_tuples":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff88157de-5a56-4649-84db-2d7b7f93631e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dc738ddc-1dc2-4e0d-b3df-943d93d95247","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454497.1295443} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":178,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.898877,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:37Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f88157de-5a56-4649-84db-2d7b7f93631e","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/f88157de-5a56-4649-84db-2d7b7f93631e","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":"adaa5950-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ5N30.E-Z49cqGDbyRQWlK7lc5FR8SoNFZYpOJMR1vKmJR6W0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"dad2a646da6d89ceb3a7b01af48eb311","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/534475f7-0b25-48fc-87f6-acb1767ca4dd"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":179,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:37Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":179,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.299326,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:37Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/534475f7-0b25-48fc-87f6-acb1767ca4dd","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/534475f7-0b25-48fc-87f6-acb1767ca4dd","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454497,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ5N30.E-Z49cqGDbyRQWlK7lc5FR8SoNFZYpOJMR1vKmJR6W0"} 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":"dad2a646da6d89ceb3a7b01af48eb311"},"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/534475f7-0b25-48fc-87f6-acb1767ca4dd"} gateway_1 | {"time_local":"20/Feb/2024:18:41:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/534475f7-0b25-48fc-87f6-acb1767ca4dd HTTP/1.1","status": "200","body_bytes_sent":"1358","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dad2a646da6d89ceb3a7b01af48eb311"} experiment_1 | {"level":"info","message":"GET /experiments/534475f7-0b25-48fc-87f6-acb1767ca4dd 200 17ms","method":"GET","requestID":"dad2a646da6d89ceb3a7b01af48eb311","responseTime":17,"status":200,"url":"/experiments/534475f7-0b25-48fc-87f6-acb1767ca4dd"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"GET /peerconnections/f88157de-5a56-4649-84db-2d7b7f93631e 200 124ms","method":"GET","requestID":"adaa5950-d01f-11ee-ad1d-cbf3af4d0136","responseTime":124,"status":200,"url":"/peerconnections/f88157de-5a56-4649-84db-2d7b7f93631e"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ5N30.E-Z49cqGDbyRQWlK7lc5FR8SoNFZYpOJMR1vKmJR6W0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e35d30b1903d8915fe4408e289f3437c","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/534475f7-0b25-48fc-87f6-acb1767ca4dd"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":180,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:37Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":180,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.026109,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:37Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/534475f7-0b25-48fc-87f6-acb1767ca4dd","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/534475f7-0b25-48fc-87f6-acb1767ca4dd","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454497,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ5N30.E-Z49cqGDbyRQWlK7lc5FR8SoNFZYpOJMR1vKmJR6W0"} 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":"e35d30b1903d8915fe4408e289f3437c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 245ms","method":"POST","requestID":"b2ba1cb80437eda6242d7b0ef849d2f0","responseTime":245,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:41:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.249","http_referrer":"","http_user_agent":"node-fetch","requestID":"b2ba1cb80437eda6242d7b0ef849d2f0"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/534475f7-0b25-48fc-87f6-acb1767ca4dd"} gateway_1 | {"time_local":"20/Feb/2024:18:41:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/534475f7-0b25-48fc-87f6-acb1767ca4dd HTTP/1.1","status": "200","body_bytes_sent":"1360","request_time":"0.063","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e35d30b1903d8915fe4408e289f3437c"} experiment_1 | {"level":"info","message":"GET /experiments/534475f7-0b25-48fc-87f6-acb1767ca4dd 200 57ms","method":"GET","requestID":"e35d30b1903d8915fe4408e289f3437c","responseTime":57,"status":200,"url":"/experiments/534475f7-0b25-48fc-87f6-acb1767ca4dd"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ5N30.E-Z49cqGDbyRQWlK7lc5FR8SoNFZYpOJMR1vKmJR6W0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"a07352be0256b2af3883a0d5ca10433e","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/534475f7-0b25-48fc-87f6-acb1767ca4dd"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":181,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:37Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":181,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.171497,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:37Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/534475f7-0b25-48fc-87f6-acb1767ca4dd","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/534475f7-0b25-48fc-87f6-acb1767ca4dd","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454497,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ5N30.E-Z49cqGDbyRQWlK7lc5FR8SoNFZYpOJMR1vKmJR6W0"} 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":"a07352be0256b2af3883a0d5ca10433e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/534475f7-0b25-48fc-87f6-acb1767ca4dd"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":182,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:37Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":182,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.868807,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:37Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f88157de-5a56-4649-84db-2d7b7f93631e","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"peerconnection:http://localhost/peerconnections/f88157de-5a56-4649-84db-2d7b7f93631e","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454497,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ5N30.E-Z49cqGDbyRQWlK7lc5FR8SoNFZYpOJMR1vKmJR6W0"} 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":"add3da50-d01f-11ee-ad1d-cbf3af4d0136"},"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/f88157de-5a56-4649-84db-2d7b7f93631e' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/f88157de-5a56-4649-84db-2d7b7f93631e' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"f88157de-5a56-4649-84db-2d7b7f93631e","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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff88157de-5a56-4649-84db-2d7b7f93631e': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff88157de-5a56-4649-84db-2d7b7f93631e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]},"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":null},"raw_response":{},"request_id":"f39e3fb7-be23-43eb-8bff-b53d65a2f606","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454497.4174876} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"061f3e19cc97f70a400125489b9a7f9f","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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"23f0ccb3-46c6-45cf-953a-d5bcd92d876d","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454497.4178002} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/61b1377a-074c-4e42-bcc8-45647a38fbe7"},{"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/9accb580-f8f2-43f7-b10c-091bd9bc96c1"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f88157de-5a56-4649-84db-2d7b7f93631e"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"dba57b558917a80ab5e9d6a0cb7d5723","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":"add3da50-d01f-11ee-ad1d-cbf3af4d0136"},"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/61b1377a-074c-4e42-bcc8-45647a38fbe7"},{"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/9accb580-f8f2-43f7-b10c-091bd9bc96c1"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f88157de-5a56-4649-84db-2d7b7f93631e"}}},"level":"info","message":"received a callback"} device_1 | {"data":{"peerconnection":"f88157de-5a56-4649-84db-2d7b7f93631e","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/f88157de-5a56-4649-84db-2d7b7f93631e 204 253ms","method":"DELETE","requestID":"add3da50-d01f-11ee-ad1d-cbf3af4d0136","responseTime":253,"status":204,"url":"/peerconnections/f88157de-5a56-4649-84db-2d7b7f93631e"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/534475f7-0b25-48fc-87f6-acb1767ca4dd"},"level":"info","message":"Successfully finished experiment"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F534475f7-0b25-48fc-87f6-acb1767ca4dd': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F534475f7-0b25-48fc-87f6-acb1767ca4dd","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]},"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":null},"raw_response":{},"request_id":"a153ce39-f8b8-49dc-8695-32da690bff76","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454497.911959} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"76484260-e898-476b-a23d-e7108d98a663","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454497.9123983} authorization_1 | {"level":"info","message":"POST /relations/update 200 130ms","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":"a07352be0256b2af3883a0d5ca10433e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":130}} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/534475f7-0b25-48fc-87f6-acb1767ca4dd"} gateway_1 | {"time_local":"20/Feb/2024:18:41:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/534475f7-0b25-48fc-87f6-acb1767ca4dd HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"1.206","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a07352be0256b2af3883a0d5ca10433e"} experiment_1 | {"level":"info","message":"DELETE /experiments/534475f7-0b25-48fc-87f6-acb1767ca4dd 204 1202ms","method":"DELETE","requestID":"a07352be0256b2af3883a0d5ca10433e","responseTime":1202,"status":204,"url":"/experiments/534475f7-0b25-48fc-87f6-acb1767ca4dd"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1168ms","method":"POST","requestID":"061f3e19cc97f70a400125489b9a7f9f","responseTime":1168,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:41:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"1.170","http_referrer":"","http_user_agent":"node-fetch","requestID":"061f3e19cc97f70a400125489b9a7f9f"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1168ms","method":"POST","requestID":"dba57b558917a80ab5e9d6a0cb7d5723","responseTime":1168,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:41:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"1.172","http_referrer":"","http_user_agent":"node-fetch","requestID":"dba57b558917a80ab5e9d6a0cb7d5723"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ5OH0.N9r8K83w-Nqq0FozhapD7W-eXK81-eBashdoyf5PyVY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"805199dafa8f566b3207b19db5188d56","responseTime":6,"status":200,"url":"/auth"} gateway_1 | {"time_local":"20/Feb/2024:18:41:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1997","request_time":"3.436","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"879bf4b684861ea23abf1e88f7e81299"} gateway_1 | {"time_local":"20/Feb/2024:18:41:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1727","request_time":"3.579","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"db43c988ea4d24b4c330cd461c35c51b"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":183,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:38Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":183,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.014748,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:38Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454498,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ5OH0.N9r8K83w-Nqq0FozhapD7W-eXK81-eBashdoyf5PyVY"} 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":"805199dafa8f566b3207b19db5188d56"},"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/61b1377a-074c-4e42-bcc8-45647a38fbe7' 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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92061de7-c59e-492d-ab6a-3b52e53c93e2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"44cc6445-44b6-41d8-9665-861ffee32200","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454498.613879} 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":"805199dafa8f566b3207b19db5188d56"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"77ff3e04-4319-4c70-a1f2-623c972f026f","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454498.6201358} 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":"805199dafa8f566b3207b19db5188d56"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/9accb580-f8f2-43f7-b10c-091bd9bc96c1' closed"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92061de7-c59e-492d-ab6a-3b52e53c93e2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"8eed1e1b-c1a7-4f09-9788-bf4a83ee4b0d","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454498.8433664} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"587d5a77-515c-421f-bfaa-7eee66229789","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454498.8435264} authorization_1 | {"level":"info","message":"POST /relations/update 200 226ms","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":"805199dafa8f566b3207b19db5188d56"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":226}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92061de7-c59e-492d-ab6a-3b52e53c93e2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92061de7-c59e-492d-ab6a-3b52e53c93e2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:38.843338955Z"}]},"request_id":"9495d918-6b71-43b0-b097-536ce73fa8ee","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454498.8528526} 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":"805199dafa8f566b3207b19db5188d56"},"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 262ms","method":"POST","requestID":"805199dafa8f566b3207b19db5188d56","responseTime":262,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"20/Feb/2024:18:41:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.273","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"805199dafa8f566b3207b19db5188d56"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ5OH0.N9r8K83w-Nqq0FozhapD7W-eXK81-eBashdoyf5PyVY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"91baaf137afa4b6a9291ec6631a1a788","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":184,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:38Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":184,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.227091,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:38Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454498,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDQ5OH0.N9r8K83w-Nqq0FozhapD7W-eXK81-eBashdoyf5PyVY"} 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":"91baaf137afa4b6a9291ec6631a1a788"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e7b5830-089b-459a-84fb-ac1fb8810290","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b0e99c38-c615-4c44-bf5d-600fc0cdc624","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454499.0113444} 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":"91baaf137afa4b6a9291ec6631a1a788"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4e9c778f-b72f-4198-8a6a-d205f389d3b3","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454499.019983} 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":"91baaf137afa4b6a9291ec6631a1a788"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e7b5830-089b-459a-84fb-ac1fb8810290","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"ceb216ad-e592-4357-a8a7-35e6e4ff07a1","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454499.1611755} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2014b1c3-a16c-477a-99f2-1a28821f0e33","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454499.161649} authorization_1 | {"level":"info","message":"POST /relations/update 200 144ms","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":"91baaf137afa4b6a9291ec6631a1a788"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":144}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e7b5830-089b-459a-84fb-ac1fb8810290","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e7b5830-089b-459a-84fb-ac1fb8810290","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:39.161139710Z"}]},"request_id":"002c39da-f806-49a9-a444-5143072ead2f","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454499.1684787} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"91baaf137afa4b6a9291ec6631a1a788"},"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 308ms","method":"POST","requestID":"91baaf137afa4b6a9291ec6631a1a788","responseTime":308,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"20/Feb/2024:18:41:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.343","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"91baaf137afa4b6a9291ec6631a1a788"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"1e8e10e3e9e3ac0fc3ff37744fb196fc","responseTime":2,"status":200,"url":"/auth"} gateway_1 | {"time_local":"20/Feb/2024:18:41:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/92061de7-c59e-492d-ab6a-3b52e53c93e2/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":"1e8e10e3e9e3ac0fc3ff37744fb196fc"} device_1 | {"level":"info","message":"OPTIONS /devices/92061de7-c59e-492d-ab6a-3b52e53c93e2/websocket 200 1ms","method":"OPTIONS","requestID":"1e8e10e3e9e3ac0fc3ff37744fb196fc","responseTime":1,"status":200,"url":"/devices/92061de7-c59e-492d-ab6a-3b52e53c93e2/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUwMX0.8_a26U_T-dSBCpbPWnpIZTicJPUSOY2qz51rw6S6wBI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9cbfc478dd0e1691da317871816ea8e5","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"2a75c7c1c2afbdfcee772e1974937a0e","responseTime":1,"status":200,"url":"/auth"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":185,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:41Z"} gateway_1 | {"time_local":"20/Feb/2024:18:41:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/1e7b5830-089b-459a-84fb-ac1fb8810290/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":"2a75c7c1c2afbdfcee772e1974937a0e"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":185,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.903061,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:41Z"} device_1 | {"level":"info","message":"OPTIONS /devices/1e7b5830-089b-459a-84fb-ac1fb8810290/websocket 200 1ms","method":"OPTIONS","requestID":"2a75c7c1c2afbdfcee772e1974937a0e","responseTime":1,"status":200,"url":"/devices/1e7b5830-089b-459a-84fb-ac1fb8810290/websocket"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/92061de7-c59e-492d-ab6a-3b52e53c93e2","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/92061de7-c59e-492d-ab6a-3b52e53c93e2","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454501,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUwMX0.8_a26U_T-dSBCpbPWnpIZTicJPUSOY2qz51rw6S6wBI"} 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":"9cbfc478dd0e1691da317871816ea8e5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUwMX0.8_a26U_T-dSBCpbPWnpIZTicJPUSOY2qz51rw6S6wBI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9e220ff33bd16858b15b962e73a4cc4f","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":186,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:41Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":186,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.094332,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:41Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1e7b5830-089b-459a-84fb-ac1fb8810290","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/1e7b5830-089b-459a-84fb-ac1fb8810290","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454501,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUwMX0.8_a26U_T-dSBCpbPWnpIZTicJPUSOY2qz51rw6S6wBI"} 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":"9e220ff33bd16858b15b962e73a4cc4f"},"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":"20/Feb/2024:18:41:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/92061de7-c59e-492d-ab6a-3b52e53c93e2/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.160","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"9cbfc478dd0e1691da317871816ea8e5"} device_1 | {"level":"info","message":"POST /devices/92061de7-c59e-492d-ab6a-3b52e53c93e2/websocket 200 153ms","method":"POST","requestID":"9cbfc478dd0e1691da317871816ea8e5","responseTime":153,"status":200,"url":"/devices/92061de7-c59e-492d-ab6a-3b52e53c93e2/websocket"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"20/Feb/2024:18:41:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/1e7b5830-089b-459a-84fb-ac1fb8810290/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.269","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"9e220ff33bd16858b15b962e73a4cc4f"} device_1 | {"level":"info","message":"POST /devices/1e7b5830-089b-459a-84fb-ac1fb8810290/websocket 200 264ms","method":"POST","requestID":"9e220ff33bd16858b15b962e73a4cc4f","responseTime":264,"status":200,"url":"/devices/1e7b5830-089b-459a-84fb-ac1fb8810290/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/92061de7-c59e-492d-ab6a-3b52e53c93e2' connected"} device_1 | {"level":"info","message":"device 'http://localhost/devices/1e7b5830-089b-459a-84fb-ac1fb8810290' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUwMX0.8_a26U_T-dSBCpbPWnpIZTicJPUSOY2qz51rw6S6wBI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"61085c2b9aea3cef4f788a84a90c55cf","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":187,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:41Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":187,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.849751,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:41Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/92061de7-c59e-492d-ab6a-3b52e53c93e2","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/92061de7-c59e-492d-ab6a-3b52e53c93e2","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454501,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUwMX0.8_a26U_T-dSBCpbPWnpIZTicJPUSOY2qz51rw6S6wBI"} 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":"61085c2b9aea3cef4f788a84a90c55cf"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92061de7-c59e-492d-ab6a-3b52e53c93e2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92061de7-c59e-492d-ab6a-3b52e53c93e2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:38.843338955Z"}]},"request_id":"ad853db9-38cb-4bea-9c66-04b9a5e1c67a","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454501.7311692} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"61085c2b9aea3cef4f788a84a90c55cf"},"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":"20/Feb/2024:18:41:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/92061de7-c59e-492d-ab6a-3b52e53c93e2? 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":"61085c2b9aea3cef4f788a84a90c55cf"} device_1 | {"level":"info","message":"GET /devices/92061de7-c59e-492d-ab6a-3b52e53c93e2? 200 15ms","method":"GET","requestID":"61085c2b9aea3cef4f788a84a90c55cf","responseTime":15,"status":200,"url":"/devices/92061de7-c59e-492d-ab6a-3b52e53c93e2?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUwMX0.8_a26U_T-dSBCpbPWnpIZTicJPUSOY2qz51rw6S6wBI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"794794d09b8c087bbbe4b073a5d18747","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":188,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:41Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":188,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.982978,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:41Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1e7b5830-089b-459a-84fb-ac1fb8810290","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/1e7b5830-089b-459a-84fb-ac1fb8810290","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454501,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUwMX0.8_a26U_T-dSBCpbPWnpIZTicJPUSOY2qz51rw6S6wBI"} 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":"794794d09b8c087bbbe4b073a5d18747"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e7b5830-089b-459a-84fb-ac1fb8810290","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e7b5830-089b-459a-84fb-ac1fb8810290","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:39.161139710Z"}]},"request_id":"a724b7d0-0f08-432b-a355-8354c52f29f6","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454501.7536676} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"794794d09b8c087bbbe4b073a5d18747"},"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":"20/Feb/2024:18:41:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1e7b5830-089b-459a-84fb-ac1fb8810290? 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":"794794d09b8c087bbbe4b073a5d18747"} device_1 | {"level":"info","message":"GET /devices/1e7b5830-089b-459a-84fb-ac1fb8810290? 200 16ms","method":"GET","requestID":"794794d09b8c087bbbe4b073a5d18747","responseTime":16,"status":200,"url":"/devices/1e7b5830-089b-459a-84fb-ac1fb8810290?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUwMX0.8_a26U_T-dSBCpbPWnpIZTicJPUSOY2qz51rw6S6wBI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8e84ce334d44101675b1c3f9c9abdaed","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:48424","level":"info","msg":"Received request.","req_id":189,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:41Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":189,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.000341,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:41Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454501,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUwMX0.8_a26U_T-dSBCpbPWnpIZTicJPUSOY2qz51rw6S6wBI"} 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":"8e84ce334d44101675b1c3f9c9abdaed"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/157b7be3-0622-4684-ba66-827c7f1eed4a"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/157b7be3-0622-4684-ba66-827c7f1eed4a"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/157b7be3-0622-4684-ba66-827c7f1eed4a"},"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:48424","level":"info","msg":"Received request.","req_id":190,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:42Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":190,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.128304,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:42Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/92061de7-c59e-492d-ab6a-3b52e53c93e2","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/92061de7-c59e-492d-ab6a-3b52e53c93e2","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454501,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUwMX0.8_a26U_T-dSBCpbPWnpIZTicJPUSOY2qz51rw6S6wBI"} 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":"b0932160-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:41254","level":"info","msg":"Received request.","req_id":191,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:42Z"} authorization_1 | {"client_addr":"127.0.0.1:41254","level":"info","msg":"Sent response.","req_id":191,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.243779,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:42Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1e7b5830-089b-459a-84fb-ac1fb8810290","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/1e7b5830-089b-459a-84fb-ac1fb8810290","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454501,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUwMX0.8_a26U_T-dSBCpbPWnpIZTicJPUSOY2qz51rw6S6wBI"} 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":"b0939690-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92061de7-c59e-492d-ab6a-3b52e53c93e2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92061de7-c59e-492d-ab6a-3b52e53c93e2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:38.843338955Z"}]},"request_id":"feaafc13-8524-4b74-999d-d83a81063806","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454502.0200663} 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":"b0932160-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e7b5830-089b-459a-84fb-ac1fb8810290","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e7b5830-089b-459a-84fb-ac1fb8810290","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:39.161139710Z"}]},"request_id":"b49a7fcc-6650-440f-a883-8f3a5fdb0f56","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454502.0264566} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b0939690-d01f-11ee-ad1d-cbf3af4d0136"},"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/92061de7-c59e-492d-ab6a-3b52e53c93e2? 200 25ms","method":"GET","requestID":"b0932160-d01f-11ee-ad1d-cbf3af4d0136","responseTime":25,"status":200,"url":"/devices/92061de7-c59e-492d-ab6a-3b52e53c93e2?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/1e7b5830-089b-459a-84fb-ac1fb8810290? 200 24ms","method":"GET","requestID":"b0939690-d01f-11ee-ad1d-cbf3af4d0136","responseTime":24,"status":200,"url":"/devices/1e7b5830-089b-459a-84fb-ac1fb8810290?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/157b7be3-0622-4684-ba66-827c7f1eed4a"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/157b7be3-0622-4684-ba66-827c7f1eed4a"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/157b7be3-0622-4684-ba66-827c7f1eed4a"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/157b7be3-0622-4684-ba66-827c7f1eed4a"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/157b7be3-0622-4684-ba66-827c7f1eed4a"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/157b7be3-0622-4684-ba66-827c7f1eed4a"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/157b7be3-0622-4684-ba66-827c7f1eed4a"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/157b7be3-0622-4684-ba66-827c7f1eed4a"},"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/157b7be3-0622-4684-ba66-827c7f1eed4a"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":192,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:42Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":192,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.972475,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:42Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/92061de7-c59e-492d-ab6a-3b52e53c93e2","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/92061de7-c59e-492d-ab6a-3b52e53c93e2","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454501,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUwMX0.8_a26U_T-dSBCpbPWnpIZTicJPUSOY2qz51rw6S6wBI"} 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":"b0d27450-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:41254","level":"info","msg":"Received request.","req_id":193,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:42Z"} authorization_1 | {"client_addr":"127.0.0.1:41254","level":"info","msg":"Sent response.","req_id":193,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.28328,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:42Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1e7b5830-089b-459a-84fb-ac1fb8810290","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/1e7b5830-089b-459a-84fb-ac1fb8810290","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454501,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUwMX0.8_a26U_T-dSBCpbPWnpIZTicJPUSOY2qz51rw6S6wBI"} 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":"b0d2c270-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92061de7-c59e-492d-ab6a-3b52e53c93e2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92061de7-c59e-492d-ab6a-3b52e53c93e2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:38.843338955Z"}]},"request_id":"4df15a55-49e1-45e4-88eb-8ec23ef36698","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454502.4345376} 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":"b0d27450-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e7b5830-089b-459a-84fb-ac1fb8810290","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e7b5830-089b-459a-84fb-ac1fb8810290","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:39.161139710Z"}]},"request_id":"7824a5b7-dedb-4682-b0f6-5b8fd8985df8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454502.4357321} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b0d2c270-d01f-11ee-ad1d-cbf3af4d0136"},"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/92061de7-c59e-492d-ab6a-3b52e53c93e2? 200 20ms","method":"GET","requestID":"b0d27450-d01f-11ee-ad1d-cbf3af4d0136","responseTime":20,"status":200,"url":"/devices/92061de7-c59e-492d-ab6a-3b52e53c93e2?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/1e7b5830-089b-459a-84fb-ac1fb8810290? 200 19ms","method":"GET","requestID":"b0d2c270-d01f-11ee-ad1d-cbf3af4d0136","responseTime":19,"status":200,"url":"/devices/1e7b5830-089b-459a-84fb-ac1fb8810290?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":194,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:42Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":194,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.691243,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:42Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/92061de7-c59e-492d-ab6a-3b52e53c93e2","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/92061de7-c59e-492d-ab6a-3b52e53c93e2","object_type":"device","rebac_allow":false,"scope_allow":false,"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":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b0d61dd0-d01f-11ee-ad1d-cbf3af4d0136"},"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/92061de7-c59e-492d-ab6a-3b52e53c93e2/signaling 200 8ms","method":"POST","requestID":"b0d61dd0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":8,"status":200,"url":"/devices/92061de7-c59e-492d-ab6a-3b52e53c93e2/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":195,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:42Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":195,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.93143,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:42Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/1e7b5830-089b-459a-84fb-ac1fb8810290","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1e7b5830-089b-459a-84fb-ac1fb8810290","object_type":"device","rebac_allow":false,"scope_allow":false,"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":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b0d7a470-d01f-11ee-ad1d-cbf3af4d0136"},"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/1e7b5830-089b-459a-84fb-ac1fb8810290/signaling 200 9ms","method":"POST","requestID":"b0d7a470-d01f-11ee-ad1d-cbf3af4d0136","responseTime":9,"status":200,"url":"/devices/1e7b5830-089b-459a-84fb-ac1fb8810290/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/157b7be3-0622-4684-ba66-827c7f1eed4a"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/157b7be3-0622-4684-ba66-827c7f1eed4a"},"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":"651ddd37-2ab2-4b11-b915-ec9a4338dc9c"},{"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":"038caf18-1666-4cb0-b64d-e6e6417151dd"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"778950a0-b230-4231-8af1-8c909c2c7fff"}]},"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/92061de7-c59e-492d-ab6a-3b52e53c93e2"},{"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/1e7b5830-089b-459a-84fb-ac1fb8810290"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":196,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:42Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":196,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.091589,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:42Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454501,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUwMX0.8_a26U_T-dSBCpbPWnpIZTicJPUSOY2qz51rw6S6wBI"} 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":"b0d9a040-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F157b7be3-0622-4684-ba66-827c7f1eed4a#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F157b7be3-0622-4684-ba66-827c7f1eed4a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"1ce28f4c-28f4-45e8-82bb-664cd0ec678a","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454502.5782633} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"53c1a1d5-6c6b-4689-b0ff-f904de014c71","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454502.5791383} authorization_1 | {"level":"info","message":"POST /relations/update 200 152ms","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":"8e84ce334d44101675b1c3f9c9abdaed"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":152}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","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%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"81a3ad8d-282e-4c8c-8779-56c5c0a7ed50","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454502.5815432} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f0a0df1f-6ddf-454c-b1ea-a11afa1f85d9","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454502.5824163} authorization_1 | {"level":"info","message":"POST /relations/update 200 106ms","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":"b0d9a040-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":106}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/157b7be3-0622-4684-ba66-827c7f1eed4a","user":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 827ms","method":"POST","requestID":"8e84ce334d44101675b1c3f9c9abdaed","responseTime":827,"status":201,"url":"/experiments?"} gateway_1 | {"time_local":"20/Feb/2024:18:41:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1287","request_time":"0.835","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8e84ce334d44101675b1c3f9c9abdaed"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUwMn0.Af-rzij6Pa-6AwcB6jIVy5as0yLu6vAMk4XnhyOib8c","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"28fa020fb288afdbd646e1b9fbfd2e89","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":197,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:42Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":197,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.812512,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:42Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/92061de7-c59e-492d-ab6a-3b52e53c93e2","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/92061de7-c59e-492d-ab6a-3b52e53c93e2","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454502,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUwMn0.Af-rzij6Pa-6AwcB6jIVy5as0yLu6vAMk4XnhyOib8c"} 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":"28fa020fb288afdbd646e1b9fbfd2e89"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92061de7-c59e-492d-ab6a-3b52e53c93e2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92061de7-c59e-492d-ab6a-3b52e53c93e2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:38.843338955Z"}]},"request_id":"d21b5713-6b37-4459-aff6-3502bf446ee2","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454502.6103683} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"28fa020fb288afdbd646e1b9fbfd2e89"},"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/5049bda2-971e-4fff-ac3f-9cbe2b6a45f2'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/5049bda2-971e-4fff-ac3f-9cbe2b6a45f2'"} 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 238ms","method":"POST","requestID":"b0d9a040-d01f-11ee-ad1d-cbf3af4d0136","responseTime":238,"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":"20/Feb/2024:18:41:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/92061de7-c59e-492d-ab6a-3b52e53c93e2? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.111","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"28fa020fb288afdbd646e1b9fbfd2e89"} device_1 | {"level":"info","message":"GET /devices/92061de7-c59e-492d-ab6a-3b52e53c93e2? 200 106ms","method":"GET","requestID":"28fa020fb288afdbd646e1b9fbfd2e89","responseTime":106,"status":200,"url":"/devices/92061de7-c59e-492d-ab6a-3b52e53c93e2?"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUwMn0.Af-rzij6Pa-6AwcB6jIVy5as0yLu6vAMk4XnhyOib8c","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"aa321125e428001d4c3bf9f1d82251d3","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":198,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:42Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":198,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.794114,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:42Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1e7b5830-089b-459a-84fb-ac1fb8810290","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/1e7b5830-089b-459a-84fb-ac1fb8810290","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454502,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUwMn0.Af-rzij6Pa-6AwcB6jIVy5as0yLu6vAMk4XnhyOib8c"} 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":"aa321125e428001d4c3bf9f1d82251d3"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e7b5830-089b-459a-84fb-ac1fb8810290","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e7b5830-089b-459a-84fb-ac1fb8810290","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:39.161139710Z"}]},"request_id":"5a32af02-444c-494d-be16-0b9acb6a7eb2","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454502.7269044} 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":"aa321125e428001d4c3bf9f1d82251d3"},"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":"20/Feb/2024:18:41:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1e7b5830-089b-459a-84fb-ac1fb8810290? 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":"aa321125e428001d4c3bf9f1d82251d3"} device_1 | {"level":"info","message":"GET /devices/1e7b5830-089b-459a-84fb-ac1fb8810290? 200 13ms","method":"GET","requestID":"aa321125e428001d4c3bf9f1d82251d3","responseTime":13,"status":200,"url":"/devices/1e7b5830-089b-459a-84fb-ac1fb8810290?"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/5049bda2-971e-4fff-ac3f-9cbe2b6a45f2' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"5049bda2-971e-4fff-ac3f-9cbe2b6a45f2","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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"edc38299da4dd7dc8953f490f879170c","responseTime":1,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/92061de7-c59e-492d-ab6a-3b52e53c93e2"},{"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/1e7b5830-089b-459a-84fb-ac1fb8810290"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/5049bda2-971e-4fff-ac3f-9cbe2b6a45f2"}}},"level":"info","message":"received a callback"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/157b7be3-0622-4684-ba66-827c7f1eed4a"},"level":"info","message":"Successfully created peerconnections for experiment"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 70ms","method":"POST","requestID":"edc38299da4dd7dc8953f490f879170c","responseTime":70,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:41:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.073","http_referrer":"","http_user_agent":"node-fetch","requestID":"edc38299da4dd7dc8953f490f879170c"} device_1 | {"data":{"peerconnection":"5049bda2-971e-4fff-ac3f-9cbe2b6a45f2","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUwM30.Vkw45PwHtPYqRZ-72Z6wlgVzzuNQ08eXXDe_qqCd9vA","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"adf08fda86fe4986b19981f6f196b97f","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/157b7be3-0622-4684-ba66-827c7f1eed4a"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":199,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:43Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":199,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.357505,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:43Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/157b7be3-0622-4684-ba66-827c7f1eed4a","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/157b7be3-0622-4684-ba66-827c7f1eed4a","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454503,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUwM30.Vkw45PwHtPYqRZ-72Z6wlgVzzuNQ08eXXDe_qqCd9vA"} 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":"adf08fda86fe4986b19981f6f196b97f"},"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/157b7be3-0622-4684-ba66-827c7f1eed4a"} experiment_1 | {"level":"info","message":"GET /experiments/157b7be3-0622-4684-ba66-827c7f1eed4a 200 17ms","method":"GET","requestID":"adf08fda86fe4986b19981f6f196b97f","responseTime":17,"status":200,"url":"/experiments/157b7be3-0622-4684-ba66-827c7f1eed4a"} gateway_1 | {"time_local":"20/Feb/2024:18:41:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/157b7be3-0622-4684-ba66-827c7f1eed4a HTTP/1.1","status": "200","body_bytes_sent":"1358","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"adf08fda86fe4986b19981f6f196b97f"} device_1 | {"data":{"peerconnection":"5049bda2-971e-4fff-ac3f-9cbe2b6a45f2","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUwM30.Vkw45PwHtPYqRZ-72Z6wlgVzzuNQ08eXXDe_qqCd9vA","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"fad88e98f7a3a9a3dd546783bf66da2b","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/157b7be3-0622-4684-ba66-827c7f1eed4a"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":200,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:43Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":200,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.145412,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:43Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/157b7be3-0622-4684-ba66-827c7f1eed4a","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/157b7be3-0622-4684-ba66-827c7f1eed4a","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454503,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUwM30.Vkw45PwHtPYqRZ-72Z6wlgVzzuNQ08eXXDe_qqCd9vA"} 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":"fad88e98f7a3a9a3dd546783bf66da2b"},"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/157b7be3-0622-4684-ba66-827c7f1eed4a"} gateway_1 | {"time_local":"20/Feb/2024:18:41:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/157b7be3-0622-4684-ba66-827c7f1eed4a HTTP/1.1","status": "200","body_bytes_sent":"1358","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fad88e98f7a3a9a3dd546783bf66da2b"} experiment_1 | {"level":"info","message":"GET /experiments/157b7be3-0622-4684-ba66-827c7f1eed4a 200 17ms","method":"GET","requestID":"fad88e98f7a3a9a3dd546783bf66da2b","responseTime":17,"status":200,"url":"/experiments/157b7be3-0622-4684-ba66-827c7f1eed4a"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/5049bda2-971e-4fff-ac3f-9cbe2b6a45f2' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"5049bda2-971e-4fff-ac3f-9cbe2b6a45f2","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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"6303050d28abe1c3e8b0c650212593f7","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/92061de7-c59e-492d-ab6a-3b52e53c93e2"},{"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/1e7b5830-089b-459a-84fb-ac1fb8810290"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/5049bda2-971e-4fff-ac3f-9cbe2b6a45f2"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":201,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:43Z"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","contextual_tuples":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5049bda2-971e-4fff-ac3f-9cbe2b6a45f2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"43284942-fa3c-4b80-a625-f13ab353c778","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454503.3638113} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":201,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.996996,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:43Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/5049bda2-971e-4fff-ac3f-9cbe2b6a45f2","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/5049bda2-971e-4fff-ac3f-9cbe2b6a45f2","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":"b16146d0-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUwM30.Vkw45PwHtPYqRZ-72Z6wlgVzzuNQ08eXXDe_qqCd9vA","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4114b9056c31e1f7d10709a36a5c16b8","responseTime":3,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/157b7be3-0622-4684-ba66-827c7f1eed4a"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":202,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:43Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":202,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.800232,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:43Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/157b7be3-0622-4684-ba66-827c7f1eed4a","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/157b7be3-0622-4684-ba66-827c7f1eed4a","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454503,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUwM30.Vkw45PwHtPYqRZ-72Z6wlgVzzuNQ08eXXDe_qqCd9vA"} 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":"4114b9056c31e1f7d10709a36a5c16b8"},"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/157b7be3-0622-4684-ba66-827c7f1eed4a"} gateway_1 | {"time_local":"20/Feb/2024:18:41:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/157b7be3-0622-4684-ba66-827c7f1eed4a HTTP/1.1","status": "200","body_bytes_sent":"1358","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4114b9056c31e1f7d10709a36a5c16b8"} experiment_1 | {"level":"info","message":"GET /experiments/157b7be3-0622-4684-ba66-827c7f1eed4a 200 12ms","method":"GET","requestID":"4114b9056c31e1f7d10709a36a5c16b8","responseTime":12,"status":200,"url":"/experiments/157b7be3-0622-4684-ba66-827c7f1eed4a"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"GET /peerconnections/5049bda2-971e-4fff-ac3f-9cbe2b6a45f2 200 124ms","method":"GET","requestID":"b16146d0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":124,"status":200,"url":"/peerconnections/5049bda2-971e-4fff-ac3f-9cbe2b6a45f2"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUwM30.Vkw45PwHtPYqRZ-72Z6wlgVzzuNQ08eXXDe_qqCd9vA","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0c62437b32fcae0da8abcf175774213c","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/157b7be3-0622-4684-ba66-827c7f1eed4a"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":203,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:43Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":203,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.038803,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:43Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/157b7be3-0622-4684-ba66-827c7f1eed4a","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/157b7be3-0622-4684-ba66-827c7f1eed4a","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454503,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUwM30.Vkw45PwHtPYqRZ-72Z6wlgVzzuNQ08eXXDe_qqCd9vA"} 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":"0c62437b32fcae0da8abcf175774213c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 271ms","method":"POST","requestID":"6303050d28abe1c3e8b0c650212593f7","responseTime":271,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:41:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.275","http_referrer":"","http_user_agent":"node-fetch","requestID":"6303050d28abe1c3e8b0c650212593f7"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/157b7be3-0622-4684-ba66-827c7f1eed4a"} gateway_1 | {"time_local":"20/Feb/2024:18:41:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/157b7be3-0622-4684-ba66-827c7f1eed4a HTTP/1.1","status": "200","body_bytes_sent":"1360","request_time":"0.065","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0c62437b32fcae0da8abcf175774213c"} experiment_1 | {"level":"info","message":"GET /experiments/157b7be3-0622-4684-ba66-827c7f1eed4a 200 59ms","method":"GET","requestID":"0c62437b32fcae0da8abcf175774213c","responseTime":59,"status":200,"url":"/experiments/157b7be3-0622-4684-ba66-827c7f1eed4a"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUwM30.Vkw45PwHtPYqRZ-72Z6wlgVzzuNQ08eXXDe_qqCd9vA","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4a2137d96ca99977c8537f9fee11c1e3","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/157b7be3-0622-4684-ba66-827c7f1eed4a"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":204,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:43Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":204,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.894015,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:43Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/157b7be3-0622-4684-ba66-827c7f1eed4a","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/157b7be3-0622-4684-ba66-827c7f1eed4a","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454503,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUwM30.Vkw45PwHtPYqRZ-72Z6wlgVzzuNQ08eXXDe_qqCd9vA"} 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":"4a2137d96ca99977c8537f9fee11c1e3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/157b7be3-0622-4684-ba66-827c7f1eed4a"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":205,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:43Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":205,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.875437,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:43Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/5049bda2-971e-4fff-ac3f-9cbe2b6a45f2","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"peerconnection:http://localhost/peerconnections/5049bda2-971e-4fff-ac3f-9cbe2b6a45f2","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454503,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUwM30.Vkw45PwHtPYqRZ-72Z6wlgVzzuNQ08eXXDe_qqCd9vA"} 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":"b18c7580-d01f-11ee-ad1d-cbf3af4d0136"},"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/5049bda2-971e-4fff-ac3f-9cbe2b6a45f2' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/5049bda2-971e-4fff-ac3f-9cbe2b6a45f2' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"5049bda2-971e-4fff-ac3f-9cbe2b6a45f2","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5049bda2-971e-4fff-ac3f-9cbe2b6a45f2': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5049bda2-971e-4fff-ac3f-9cbe2b6a45f2","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]},"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":null},"raw_response":{},"request_id":"a53a0a59-69be-4da2-88b4-250a87127484","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454503.6609132} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"a4cac3124b79159b5588b20bb0c9da07","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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7d98256b-f04a-43ab-9cd6-c1c024c912bf","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454503.6611621} 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/92061de7-c59e-492d-ab6a-3b52e53c93e2"},{"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/1e7b5830-089b-459a-84fb-ac1fb8810290"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/5049bda2-971e-4fff-ac3f-9cbe2b6a45f2"}}},"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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"b18c7580-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"410d34e90c2aed4c74356259ce21d96c","responseTime":1,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/92061de7-c59e-492d-ab6a-3b52e53c93e2"},{"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/1e7b5830-089b-459a-84fb-ac1fb8810290"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/5049bda2-971e-4fff-ac3f-9cbe2b6a45f2"}}},"level":"info","message":"received a callback"} device_1 | {"data":{"peerconnection":"5049bda2-971e-4fff-ac3f-9cbe2b6a45f2","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/5049bda2-971e-4fff-ac3f-9cbe2b6a45f2 204 327ms","method":"DELETE","requestID":"b18c7580-d01f-11ee-ad1d-cbf3af4d0136","responseTime":327,"status":204,"url":"/peerconnections/5049bda2-971e-4fff-ac3f-9cbe2b6a45f2"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/157b7be3-0622-4684-ba66-827c7f1eed4a"},"level":"info","message":"Successfully finished experiment"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F157b7be3-0622-4684-ba66-827c7f1eed4a': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F157b7be3-0622-4684-ba66-827c7f1eed4a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]},"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":null},"raw_response":{},"request_id":"9486e876-4980-4682-97c0-be8137e3e482","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454504.246469} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4720e95e-2fdc-4b66-9fdb-9b166a9a34b9","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454504.2466216} authorization_1 | {"level":"info","message":"POST /relations/update 200 138ms","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":"4a2137d96ca99977c8537f9fee11c1e3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":138}} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/157b7be3-0622-4684-ba66-827c7f1eed4a"} gateway_1 | {"time_local":"20/Feb/2024:18:41:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/157b7be3-0622-4684-ba66-827c7f1eed4a HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"1.426","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4a2137d96ca99977c8537f9fee11c1e3"} experiment_1 | {"level":"info","message":"DELETE /experiments/157b7be3-0622-4684-ba66-827c7f1eed4a 204 1424ms","method":"DELETE","requestID":"4a2137d96ca99977c8537f9fee11c1e3","responseTime":1424,"status":204,"url":"/experiments/157b7be3-0622-4684-ba66-827c7f1eed4a"} gateway_1 | {"time_local":"20/Feb/2024:18:41:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"1.398","http_referrer":"","http_user_agent":"node-fetch","requestID":"a4cac3124b79159b5588b20bb0c9da07"} gateway_1 | {"time_local":"20/Feb/2024:18:41:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"1.398","http_referrer":"","http_user_agent":"node-fetch","requestID":"410d34e90c2aed4c74356259ce21d96c"} gateway_1 | {"time_local":"20/Feb/2024:18:41:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1997","request_time":"3.767","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"28ab937ffeaf0c9dcea63686c4468266"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1394ms","method":"POST","requestID":"a4cac3124b79159b5588b20bb0c9da07","responseTime":1394,"status":200,"url":"/callbacks/experiment"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1393ms","method":"POST","requestID":"410d34e90c2aed4c74356259ce21d96c","responseTime":1393,"status":200,"url":"/callbacks/experiment"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":206,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:45Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":206,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.960195,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:45Z"} device_1 | {"level":"info","message":"postDevices called"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUwNX0.ONwAxSwaM3abtY6kBMsIdsXbYy6vdd3ymBiR_jnqvdI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"b4bdb25f4099e2b1cfd25f0d2ac9d3c1","responseTime":5,"status":200,"url":"/auth"} gateway_1 | {"time_local":"20/Feb/2024:18:41:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1727","request_time":"3.648","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"bbe012323b4736480273dbe488ae3bf7"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454505,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUwNX0.ONwAxSwaM3abtY6kBMsIdsXbYy6vdd3ymBiR_jnqvdI"} 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":"b4bdb25f4099e2b1cfd25f0d2ac9d3c1"},"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/1e7b5830-089b-459a-84fb-ac1fb8810290' closed"} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/92061de7-c59e-492d-ab6a-3b52e53c93e2' 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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabb5d430-4cd6-4359-8123-dd237f3327e9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"46f6e929-e1b8-480e-a378-f19dc8cafc15","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454505.4198732} 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":"b4bdb25f4099e2b1cfd25f0d2ac9d3c1"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"39e5c77c-e84c-4cd4-942e-97b8a9f042b9","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454505.428053} 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":"b4bdb25f4099e2b1cfd25f0d2ac9d3c1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabb5d430-4cd6-4359-8123-dd237f3327e9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"fd64253f-1676-4ffa-925b-adb7113fe688","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454505.6117167} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4ce60e22-41ea-48d6-82b8-87baed478dc8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454505.6122763} authorization_1 | {"level":"info","message":"POST /relations/update 200 187ms","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":"b4bdb25f4099e2b1cfd25f0d2ac9d3c1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":187}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabb5d430-4cd6-4359-8123-dd237f3327e9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabb5d430-4cd6-4359-8123-dd237f3327e9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:45.611680769Z"}]},"request_id":"468f2656-9f47-4997-92b9-c8a557a3a6dd","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454505.6197278} 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":"b4bdb25f4099e2b1cfd25f0d2ac9d3c1"},"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 562ms","method":"POST","requestID":"b4bdb25f4099e2b1cfd25f0d2ac9d3c1","responseTime":562,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"20/Feb/2024:18:41:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.573","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b4bdb25f4099e2b1cfd25f0d2ac9d3c1"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUwNX0.ONwAxSwaM3abtY6kBMsIdsXbYy6vdd3ymBiR_jnqvdI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8793e6d573530cf80253e2d28860c4da","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":207,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:45Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":207,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.961548,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:45Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454505,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUwNX0.ONwAxSwaM3abtY6kBMsIdsXbYy6vdd3ymBiR_jnqvdI"} 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":"8793e6d573530cf80253e2d28860c4da"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F87e69402-feb4-43a5-a3f1-6c864621e32a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b3d7e216-12d3-4358-899c-16ee8340a9e3","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454505.8050025} 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":"8793e6d573530cf80253e2d28860c4da"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"018d314c-9456-43c7-ae19-7cfa38a229a4","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454505.8128226} 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":"8793e6d573530cf80253e2d28860c4da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F87e69402-feb4-43a5-a3f1-6c864621e32a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"e0a6c0f9-dcdf-4b2b-a06d-3ed23d74d392","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454505.9636066} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"405572da-7a0a-4a2b-bb5a-a9d145a3c29c","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454505.9639192} authorization_1 | {"level":"info","message":"POST /relations/update 200 155ms","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":"8793e6d573530cf80253e2d28860c4da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":155}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F87e69402-feb4-43a5-a3f1-6c864621e32a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F87e69402-feb4-43a5-a3f1-6c864621e32a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:45.963579286Z"}]},"request_id":"9339c1ae-9a28-4ce6-b2f1-42679daf2416","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454505.9724863} 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":"8793e6d573530cf80253e2d28860c4da"},"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 344ms","method":"POST","requestID":"8793e6d573530cf80253e2d28860c4da","responseTime":344,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"20/Feb/2024:18:41:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.379","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8793e6d573530cf80253e2d28860c4da"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUwNn0.zrKjDCj_Kd-brU95_0F2l5B13otHtPs19kHJSlScPT8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"817c7620926f24058f750fb361de3171","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":208,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:46Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":208,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.143755,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:46Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/87e69402-feb4-43a5-a3f1-6c864621e32a","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/87e69402-feb4-43a5-a3f1-6c864621e32a","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454506,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUwNn0.zrKjDCj_Kd-brU95_0F2l5B13otHtPs19kHJSlScPT8"} 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":"817c7620926f24058f750fb361de3171"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F87e69402-feb4-43a5-a3f1-6c864621e32a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F87e69402-feb4-43a5-a3f1-6c864621e32a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:45.963579286Z"}]},"request_id":"d06171fd-ce46-4fe4-8824-58844d604c4f","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454506.4620981} 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":"817c7620926f24058f750fb361de3171"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"03d366cb-5b9c-4b87-b32d-8626fb114812","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454506.4676232} 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":"817c7620926f24058f750fb361de3171"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F87e69402-feb4-43a5-a3f1-6c864621e32a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F87e69402-feb4-43a5-a3f1-6c864621e32a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:45.963579286Z"}]},"request_id":"2759491f-0712-4796-b628-5fbe254a5eb1","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454506.6399493} 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":"817c7620926f24058f750fb361de3171"},"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":"20/Feb/2024:18:41:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/87e69402-feb4-43a5-a3f1-6c864621e32a HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.200","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"817c7620926f24058f750fb361de3171"} device_1 | {"level":"info","message":"PATCH /devices/87e69402-feb4-43a5-a3f1-6c864621e32a 200 195ms","method":"PATCH","requestID":"817c7620926f24058f750fb361de3171","responseTime":195,"status":200,"url":"/devices/87e69402-feb4-43a5-a3f1-6c864621e32a"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUwNn0.zrKjDCj_Kd-brU95_0F2l5B13otHtPs19kHJSlScPT8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2c748e7c68b61327f51fcbb2ece309f6","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":209,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:46Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":209,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.966721,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:46Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/87e69402-feb4-43a5-a3f1-6c864621e32a","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/87e69402-feb4-43a5-a3f1-6c864621e32a","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454506,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUwNn0.zrKjDCj_Kd-brU95_0F2l5B13otHtPs19kHJSlScPT8"} 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":"2c748e7c68b61327f51fcbb2ece309f6"},"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":"20/Feb/2024:18:41:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/87e69402-feb4-43a5-a3f1-6c864621e32a/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.148","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"2c748e7c68b61327f51fcbb2ece309f6"} device_1 | {"level":"info","message":"POST /devices/87e69402-feb4-43a5-a3f1-6c864621e32a/websocket 200 143ms","method":"POST","requestID":"2c748e7c68b61327f51fcbb2ece309f6","responseTime":143,"status":200,"url":"/devices/87e69402-feb4-43a5-a3f1-6c864621e32a/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/87e69402-feb4-43a5-a3f1-6c864621e32a' 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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"9a68a093bebf688b0069d0561773d116","responseTime":1,"status":200,"url":"/auth"} gateway_1 | {"time_local":"20/Feb/2024:18:41:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/abb5d430-4cd6-4359-8123-dd237f3327e9/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":"9a68a093bebf688b0069d0561773d116"} device_1 | {"level":"info","message":"OPTIONS /devices/abb5d430-4cd6-4359-8123-dd237f3327e9/websocket 200 1ms","method":"OPTIONS","requestID":"9a68a093bebf688b0069d0561773d116","responseTime":1,"status":200,"url":"/devices/abb5d430-4cd6-4359-8123-dd237f3327e9/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUwN30.vqRQaAFjZKlEP1XujPRyOhTOKmLfdCJUqPX-8fIx_S4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f7ac7dfe39cb0954dabd61731f34e5d5","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":210,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:47Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":210,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.701893,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:47Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/abb5d430-4cd6-4359-8123-dd237f3327e9","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/abb5d430-4cd6-4359-8123-dd237f3327e9","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454507,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUwN30.vqRQaAFjZKlEP1XujPRyOhTOKmLfdCJUqPX-8fIx_S4"} 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":"f7ac7dfe39cb0954dabd61731f34e5d5"},"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":"20/Feb/2024:18:41:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/abb5d430-4cd6-4359-8123-dd237f3327e9/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.135","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"f7ac7dfe39cb0954dabd61731f34e5d5"} device_1 | {"level":"info","message":"POST /devices/abb5d430-4cd6-4359-8123-dd237f3327e9/websocket 200 130ms","method":"POST","requestID":"f7ac7dfe39cb0954dabd61731f34e5d5","responseTime":130,"status":200,"url":"/devices/abb5d430-4cd6-4359-8123-dd237f3327e9/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/abb5d430-4cd6-4359-8123-dd237f3327e9' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUwOH0.ZvJdTPgTVddIKE0yRlJypEvOKknB3cuH76d_qiRVwE4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"28ba925847eff98a8aaa28b3f829fcd8","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":211,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:48Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":211,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.136466,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:48Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/abb5d430-4cd6-4359-8123-dd237f3327e9","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/abb5d430-4cd6-4359-8123-dd237f3327e9","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454508,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUwOH0.ZvJdTPgTVddIKE0yRlJypEvOKknB3cuH76d_qiRVwE4"} 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":"28ba925847eff98a8aaa28b3f829fcd8"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabb5d430-4cd6-4359-8123-dd237f3327e9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabb5d430-4cd6-4359-8123-dd237f3327e9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:45.611680769Z"}]},"request_id":"8eb7a4aa-1cd4-4331-b762-a75e01d82b6b","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454508.2456126} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"28ba925847eff98a8aaa28b3f829fcd8"},"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":"20/Feb/2024:18:41:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/abb5d430-4cd6-4359-8123-dd237f3327e9? 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":"28ba925847eff98a8aaa28b3f829fcd8"} device_1 | {"level":"info","message":"GET /devices/abb5d430-4cd6-4359-8123-dd237f3327e9? 200 19ms","method":"GET","requestID":"28ba925847eff98a8aaa28b3f829fcd8","responseTime":19,"status":200,"url":"/devices/abb5d430-4cd6-4359-8123-dd237f3327e9?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUwOH0.ZvJdTPgTVddIKE0yRlJypEvOKknB3cuH76d_qiRVwE4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8a17534ec16ee18b33563530a3eb9a26","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":212,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:48Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":212,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.835452,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:48Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/87e69402-feb4-43a5-a3f1-6c864621e32a","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/87e69402-feb4-43a5-a3f1-6c864621e32a","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454508,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUwOH0.ZvJdTPgTVddIKE0yRlJypEvOKknB3cuH76d_qiRVwE4"} 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":"8a17534ec16ee18b33563530a3eb9a26"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F87e69402-feb4-43a5-a3f1-6c864621e32a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F87e69402-feb4-43a5-a3f1-6c864621e32a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:45.963579286Z"}]},"request_id":"18c9fbcd-7eb5-4ef5-945d-846bf16a7f5c","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454508.2693987} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8a17534ec16ee18b33563530a3eb9a26"},"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":"20/Feb/2024:18:41:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/87e69402-feb4-43a5-a3f1-6c864621e32a? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8a17534ec16ee18b33563530a3eb9a26"} device_1 | {"level":"info","message":"GET /devices/87e69402-feb4-43a5-a3f1-6c864621e32a? 200 16ms","method":"GET","requestID":"8a17534ec16ee18b33563530a3eb9a26","responseTime":16,"status":200,"url":"/devices/87e69402-feb4-43a5-a3f1-6c864621e32a?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUwOH0.ZvJdTPgTVddIKE0yRlJypEvOKknB3cuH76d_qiRVwE4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ad4990fdb2da81272347812c19b3503d","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:48424","level":"info","msg":"Received request.","req_id":213,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:48Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":213,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.140668,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:48Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454508,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUwOH0.ZvJdTPgTVddIKE0yRlJypEvOKknB3cuH76d_qiRVwE4"} 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":"ad4990fdb2da81272347812c19b3503d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/44287450-b6f0-4558-80b0-17f808c4a121"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/44287450-b6f0-4558-80b0-17f808c4a121"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/44287450-b6f0-4558-80b0-17f808c4a121"},"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:48424","level":"info","msg":"Received request.","req_id":214,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:48Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":214,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.141594,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:48Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/abb5d430-4cd6-4359-8123-dd237f3327e9","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/abb5d430-4cd6-4359-8123-dd237f3327e9","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454508,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUwOH0.ZvJdTPgTVddIKE0yRlJypEvOKknB3cuH76d_qiRVwE4"} 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":"b47600e0-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:42366","level":"info","msg":"Received request.","req_id":215,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:48Z"} authorization_1 | {"client_addr":"127.0.0.1:42366","level":"info","msg":"Sent response.","req_id":215,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.484004,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:48Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/87e69402-feb4-43a5-a3f1-6c864621e32a","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/87e69402-feb4-43a5-a3f1-6c864621e32a","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454508,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUwOH0.ZvJdTPgTVddIKE0yRlJypEvOKknB3cuH76d_qiRVwE4"} 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":"b4764f00-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabb5d430-4cd6-4359-8123-dd237f3327e9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabb5d430-4cd6-4359-8123-dd237f3327e9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:45.611680769Z"}]},"request_id":"c85716a7-47c3-4bde-b6f9-dc1fac72e6de","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454508.5398517} 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":"b47600e0-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F87e69402-feb4-43a5-a3f1-6c864621e32a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F87e69402-feb4-43a5-a3f1-6c864621e32a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:45.963579286Z"}]},"request_id":"21bea218-8190-49cb-9e12-4dc2204f629b","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454508.5456781} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b4764f00-d01f-11ee-ad1d-cbf3af4d0136"},"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/abb5d430-4cd6-4359-8123-dd237f3327e9? 200 23ms","method":"GET","requestID":"b47600e0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":23,"status":200,"url":"/devices/abb5d430-4cd6-4359-8123-dd237f3327e9?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/87e69402-feb4-43a5-a3f1-6c864621e32a? 200 23ms","method":"GET","requestID":"b4764f00-d01f-11ee-ad1d-cbf3af4d0136","responseTime":23,"status":200,"url":"/devices/87e69402-feb4-43a5-a3f1-6c864621e32a?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/44287450-b6f0-4558-80b0-17f808c4a121"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/44287450-b6f0-4558-80b0-17f808c4a121"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/44287450-b6f0-4558-80b0-17f808c4a121"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/44287450-b6f0-4558-80b0-17f808c4a121"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/44287450-b6f0-4558-80b0-17f808c4a121"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/44287450-b6f0-4558-80b0-17f808c4a121"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/44287450-b6f0-4558-80b0-17f808c4a121"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/44287450-b6f0-4558-80b0-17f808c4a121"},"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:48424","level":"info","msg":"Received request.","req_id":216,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:48Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":216,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.683501,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:48Z"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/44287450-b6f0-4558-80b0-17f808c4a121"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/abb5d430-4cd6-4359-8123-dd237f3327e9","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/abb5d430-4cd6-4359-8123-dd237f3327e9","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454508,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUwOH0.ZvJdTPgTVddIKE0yRlJypEvOKknB3cuH76d_qiRVwE4"} 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":"b4aec420-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":217,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:48Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":217,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.687049,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:48Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/87e69402-feb4-43a5-a3f1-6c864621e32a","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/87e69402-feb4-43a5-a3f1-6c864621e32a","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454508,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUwOH0.ZvJdTPgTVddIKE0yRlJypEvOKknB3cuH76d_qiRVwE4"} 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":"b4af1240-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabb5d430-4cd6-4359-8123-dd237f3327e9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabb5d430-4cd6-4359-8123-dd237f3327e9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:45.611680769Z"}]},"request_id":"4c6c9416-266c-4445-9d56-e161d7d594a8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454508.9099784} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b4aec420-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F87e69402-feb4-43a5-a3f1-6c864621e32a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F87e69402-feb4-43a5-a3f1-6c864621e32a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:45.963579286Z"}]},"request_id":"5b5d1d08-dbc0-42c6-b7d3-951bd39c157e","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454508.9144897} device_1 | {"level":"info","message":"getDevicesByDeviceId 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":"b4af1240-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"GET /devices/abb5d430-4cd6-4359-8123-dd237f3327e9? 200 18ms","method":"GET","requestID":"b4aec420-d01f-11ee-ad1d-cbf3af4d0136","responseTime":18,"status":200,"url":"/devices/abb5d430-4cd6-4359-8123-dd237f3327e9?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/87e69402-feb4-43a5-a3f1-6c864621e32a? 200 20ms","method":"GET","requestID":"b4af1240-d01f-11ee-ad1d-cbf3af4d0136","responseTime":20,"status":200,"url":"/devices/87e69402-feb4-43a5-a3f1-6c864621e32a?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":218,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:48Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":218,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":1.560329,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:48Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/abb5d430-4cd6-4359-8123-dd237f3327e9","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/abb5d430-4cd6-4359-8123-dd237f3327e9","object_type":"device","rebac_allow":false,"scope_allow":false,"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":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b4b26da0-d01f-11ee-ad1d-cbf3af4d0136"},"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/abb5d430-4cd6-4359-8123-dd237f3327e9/signaling 200 9ms","method":"POST","requestID":"b4b26da0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":9,"status":200,"url":"/devices/abb5d430-4cd6-4359-8123-dd237f3327e9/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":219,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:48Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":219,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.84363,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:48Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/87e69402-feb4-43a5-a3f1-6c864621e32a","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/87e69402-feb4-43a5-a3f1-6c864621e32a","object_type":"device","rebac_allow":false,"scope_allow":false,"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":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b4b44260-d01f-11ee-ad1d-cbf3af4d0136"},"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/87e69402-feb4-43a5-a3f1-6c864621e32a/signaling 200 9ms","method":"POST","requestID":"b4b44260-d01f-11ee-ad1d-cbf3af4d0136","responseTime":9,"status":200,"url":"/devices/87e69402-feb4-43a5-a3f1-6c864621e32a/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/44287450-b6f0-4558-80b0-17f808c4a121"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/44287450-b6f0-4558-80b0-17f808c4a121"},"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":"fa3661ba-90c4-46d0-bf19-0ed6ca6f4f65"},{"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":"1c59c410-cbd4-4b83-8004-5ecf0b778295"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"5c4cf3b4-7085-4a2d-8d2f-be44fed4c5f8"}]},"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/abb5d430-4cd6-4359-8123-dd237f3327e9"},{"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/87e69402-feb4-43a5-a3f1-6c864621e32a"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":220,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:48Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":220,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.811462,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:48Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454508,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUwOH0.ZvJdTPgTVddIKE0yRlJypEvOKknB3cuH76d_qiRVwE4"} 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":"b4b61720-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F44287450-b6f0-4558-80b0-17f808c4a121#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F44287450-b6f0-4558-80b0-17f808c4a121","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"af69786a-35a6-4c93-9bc3-6e4ff8123bbe","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454509.0220299} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"98337ce7-193b-414c-bf91-c26a4344f727","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454509.0224488} authorization_1 | {"level":"info","message":"POST /relations/update 200 118ms","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":"ad4990fdb2da81272347812c19b3503d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":118}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","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%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"568fc9c9-3abd-4162-850a-e056edfbb506","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454509.0240593} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"40dc80b3-a3e0-48af-b2e4-a80db529e5b9","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454509.024319} authorization_1 | {"level":"info","message":"POST /relations/update 200 71ms","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":"b4b61720-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":71}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/44287450-b6f0-4558-80b0-17f808c4a121","user":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 753ms","method":"POST","requestID":"ad4990fdb2da81272347812c19b3503d","responseTime":753,"status":201,"url":"/experiments?"} gateway_1 | {"time_local":"20/Feb/2024:18:41:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.760","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ad4990fdb2da81272347812c19b3503d"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUwOX0.u7gaVTnelerLxPT5MK3TgEdOyKSAO9Rr83fUhPSgZnE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d443b91463c6c890bf4e9d71d77fac92","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":221,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:49Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":221,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.815605,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:49Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/abb5d430-4cd6-4359-8123-dd237f3327e9","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/abb5d430-4cd6-4359-8123-dd237f3327e9","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454509,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUwOX0.u7gaVTnelerLxPT5MK3TgEdOyKSAO9Rr83fUhPSgZnE"} 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":"d443b91463c6c890bf4e9d71d77fac92"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabb5d430-4cd6-4359-8123-dd237f3327e9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabb5d430-4cd6-4359-8123-dd237f3327e9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:45.611680769Z"}]},"request_id":"b926af1a-6a68-4984-934b-2fce1f0d954f","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454509.0497847} 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":"d443b91463c6c890bf4e9d71d77fac92"},"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/14ca4eb6-2fe9-4d4a-9e00-5dce7773d358'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/14ca4eb6-2fe9-4d4a-9e00-5dce7773d358'"} 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 220ms","method":"POST","requestID":"b4b61720-d01f-11ee-ad1d-cbf3af4d0136","responseTime":220,"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":"20/Feb/2024:18:41:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/abb5d430-4cd6-4359-8123-dd237f3327e9? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.130","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d443b91463c6c890bf4e9d71d77fac92"} device_1 | {"level":"info","message":"GET /devices/abb5d430-4cd6-4359-8123-dd237f3327e9? 200 127ms","method":"GET","requestID":"d443b91463c6c890bf4e9d71d77fac92","responseTime":127,"status":200,"url":"/devices/abb5d430-4cd6-4359-8123-dd237f3327e9?"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUwOX0.u7gaVTnelerLxPT5MK3TgEdOyKSAO9Rr83fUhPSgZnE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"4b09acfa6afb7717d7ada34bf5365bd6","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":222,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:49Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":222,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.864442,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:49Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/87e69402-feb4-43a5-a3f1-6c864621e32a","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/87e69402-feb4-43a5-a3f1-6c864621e32a","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454509,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUwOX0.u7gaVTnelerLxPT5MK3TgEdOyKSAO9Rr83fUhPSgZnE"} 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":"4b09acfa6afb7717d7ada34bf5365bd6"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F87e69402-feb4-43a5-a3f1-6c864621e32a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F87e69402-feb4-43a5-a3f1-6c864621e32a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:45.963579286Z"}]},"request_id":"85cf5d89-c20d-4560-97ee-9f40fd6e75cd","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454509.1886766} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4b09acfa6afb7717d7ada34bf5365bd6"},"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":"20/Feb/2024:18:41:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/87e69402-feb4-43a5-a3f1-6c864621e32a? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4b09acfa6afb7717d7ada34bf5365bd6"} device_1 | {"level":"info","message":"GET /devices/87e69402-feb4-43a5-a3f1-6c864621e32a? 200 14ms","method":"GET","requestID":"4b09acfa6afb7717d7ada34bf5365bd6","responseTime":14,"status":200,"url":"/devices/87e69402-feb4-43a5-a3f1-6c864621e32a?"} device_1 | {"data":{"peerconnection":"14ca4eb6-2fe9-4d4a-9e00-5dce7773d358","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/14ca4eb6-2fe9-4d4a-9e00-5dce7773d358' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"14ca4eb6-2fe9-4d4a-9e00-5dce7773d358","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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"1e14f09d4f8da9a43dbe2134afb94bb4","responseTime":0,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/abb5d430-4cd6-4359-8123-dd237f3327e9"},{"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/87e69402-feb4-43a5-a3f1-6c864621e32a"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/14ca4eb6-2fe9-4d4a-9e00-5dce7773d358"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 114ms","method":"POST","requestID":"1e14f09d4f8da9a43dbe2134afb94bb4","responseTime":114,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:41:49 +0000","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":"1e14f09d4f8da9a43dbe2134afb94bb4"} device_1 | {"data":{"peerconnection":"14ca4eb6-2fe9-4d4a-9e00-5dce7773d358","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/44287450-b6f0-4558-80b0-17f808c4a121"},"level":"info","message":"Successfully created peerconnections for experiment"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUwOX0.u7gaVTnelerLxPT5MK3TgEdOyKSAO9Rr83fUhPSgZnE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"cba95e8f0b7577ff66bcf34af9ab78c5","responseTime":6,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/44287450-b6f0-4558-80b0-17f808c4a121"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":223,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:49Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":223,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.265037,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:49Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/44287450-b6f0-4558-80b0-17f808c4a121","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/44287450-b6f0-4558-80b0-17f808c4a121","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454509,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUwOX0.u7gaVTnelerLxPT5MK3TgEdOyKSAO9Rr83fUhPSgZnE"} 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":"cba95e8f0b7577ff66bcf34af9ab78c5"},"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/44287450-b6f0-4558-80b0-17f808c4a121"} gateway_1 | {"time_local":"20/Feb/2024:18:41:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/44287450-b6f0-4558-80b0-17f808c4a121 HTTP/1.1","status": "200","body_bytes_sent":"1362","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cba95e8f0b7577ff66bcf34af9ab78c5"} experiment_1 | {"level":"info","message":"GET /experiments/44287450-b6f0-4558-80b0-17f808c4a121 200 16ms","method":"GET","requestID":"cba95e8f0b7577ff66bcf34af9ab78c5","responseTime":16,"status":200,"url":"/experiments/44287450-b6f0-4558-80b0-17f808c4a121"} device_1 | {"data":{"peerconnection":"14ca4eb6-2fe9-4d4a-9e00-5dce7773d358","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/14ca4eb6-2fe9-4d4a-9e00-5dce7773d358' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"14ca4eb6-2fe9-4d4a-9e00-5dce7773d358","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUwOX0.u7gaVTnelerLxPT5MK3TgEdOyKSAO9Rr83fUhPSgZnE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"8e45eb134e3933dd9a39833c590793e3","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/44287450-b6f0-4558-80b0-17f808c4a121"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"71d85412dbce9b3a194e47494f24958e","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/abb5d430-4cd6-4359-8123-dd237f3327e9"},{"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/87e69402-feb4-43a5-a3f1-6c864621e32a"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/14ca4eb6-2fe9-4d4a-9e00-5dce7773d358"}}},"level":"info","message":"received a callback"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":224,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:49Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":224,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.013494,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:49Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/44287450-b6f0-4558-80b0-17f808c4a121","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/44287450-b6f0-4558-80b0-17f808c4a121","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454509,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUwOX0.u7gaVTnelerLxPT5MK3TgEdOyKSAO9Rr83fUhPSgZnE"} 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":"8e45eb134e3933dd9a39833c590793e3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":225,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:49Z"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/44287450-b6f0-4558-80b0-17f808c4a121"} gateway_1 | {"time_local":"20/Feb/2024:18:41:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/44287450-b6f0-4558-80b0-17f808c4a121 HTTP/1.1","status": "200","body_bytes_sent":"1362","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8e45eb134e3933dd9a39833c590793e3"} experiment_1 | {"level":"info","message":"GET /experiments/44287450-b6f0-4558-80b0-17f808c4a121 200 19ms","method":"GET","requestID":"8e45eb134e3933dd9a39833c590793e3","responseTime":19,"status":200,"url":"/experiments/44287450-b6f0-4558-80b0-17f808c4a121"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","contextual_tuples":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F14ca4eb6-2fe9-4d4a-9e00-5dce7773d358","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1d9b4f3b-7f16-4212-88d8-cf927485dff5","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454509.7320948} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":225,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.735997,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:49Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/14ca4eb6-2fe9-4d4a-9e00-5dce7773d358","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/14ca4eb6-2fe9-4d4a-9e00-5dce7773d358","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":"b52d1be0-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUwOX0.u7gaVTnelerLxPT5MK3TgEdOyKSAO9Rr83fUhPSgZnE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"0120415844120bf849b1592660d24444","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/44287450-b6f0-4558-80b0-17f808c4a121"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":226,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:49Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":226,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.761021,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:49Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/44287450-b6f0-4558-80b0-17f808c4a121","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/44287450-b6f0-4558-80b0-17f808c4a121","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454509,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUwOX0.u7gaVTnelerLxPT5MK3TgEdOyKSAO9Rr83fUhPSgZnE"} 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":"0120415844120bf849b1592660d24444"},"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/44287450-b6f0-4558-80b0-17f808c4a121"} gateway_1 | {"time_local":"20/Feb/2024:18:41:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/44287450-b6f0-4558-80b0-17f808c4a121 HTTP/1.1","status": "200","body_bytes_sent":"1362","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0120415844120bf849b1592660d24444"} experiment_1 | {"level":"info","message":"GET /experiments/44287450-b6f0-4558-80b0-17f808c4a121 200 14ms","method":"GET","requestID":"0120415844120bf849b1592660d24444","responseTime":14,"status":200,"url":"/experiments/44287450-b6f0-4558-80b0-17f808c4a121"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"GET /peerconnections/14ca4eb6-2fe9-4d4a-9e00-5dce7773d358 200 132ms","method":"GET","requestID":"b52d1be0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":132,"status":200,"url":"/peerconnections/14ca4eb6-2fe9-4d4a-9e00-5dce7773d358"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUwOX0.u7gaVTnelerLxPT5MK3TgEdOyKSAO9Rr83fUhPSgZnE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"828d028a2ead79febc816cabde216891","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/44287450-b6f0-4558-80b0-17f808c4a121"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":227,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:49Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":227,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.980089,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:49Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/44287450-b6f0-4558-80b0-17f808c4a121","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/44287450-b6f0-4558-80b0-17f808c4a121","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454509,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUwOX0.u7gaVTnelerLxPT5MK3TgEdOyKSAO9Rr83fUhPSgZnE"} 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":"828d028a2ead79febc816cabde216891"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 261ms","method":"POST","requestID":"71d85412dbce9b3a194e47494f24958e","responseTime":261,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:41:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.266","http_referrer":"","http_user_agent":"node-fetch","requestID":"71d85412dbce9b3a194e47494f24958e"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/44287450-b6f0-4558-80b0-17f808c4a121"} gateway_1 | {"time_local":"20/Feb/2024:18:41:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/44287450-b6f0-4558-80b0-17f808c4a121 HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"828d028a2ead79febc816cabde216891"} experiment_1 | {"level":"info","message":"GET /experiments/44287450-b6f0-4558-80b0-17f808c4a121 200 16ms","method":"GET","requestID":"828d028a2ead79febc816cabde216891","responseTime":16,"status":200,"url":"/experiments/44287450-b6f0-4558-80b0-17f808c4a121"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUwOX0.u7gaVTnelerLxPT5MK3TgEdOyKSAO9Rr83fUhPSgZnE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"542896fe10ce8fb4fc55a63c643df5eb","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/44287450-b6f0-4558-80b0-17f808c4a121"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":228,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:49Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":228,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.80598,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:49Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/44287450-b6f0-4558-80b0-17f808c4a121","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/44287450-b6f0-4558-80b0-17f808c4a121","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454509,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUwOX0.u7gaVTnelerLxPT5MK3TgEdOyKSAO9Rr83fUhPSgZnE"} 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":"542896fe10ce8fb4fc55a63c643df5eb"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/44287450-b6f0-4558-80b0-17f808c4a121"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":229,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:50Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":229,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.04837,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:50Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/14ca4eb6-2fe9-4d4a-9e00-5dce7773d358","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"peerconnection:http://localhost/peerconnections/14ca4eb6-2fe9-4d4a-9e00-5dce7773d358","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454509,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUwOX0.u7gaVTnelerLxPT5MK3TgEdOyKSAO9Rr83fUhPSgZnE"} 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":"b556c3f0-d01f-11ee-ad1d-cbf3af4d0136"},"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/14ca4eb6-2fe9-4d4a-9e00-5dce7773d358' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/14ca4eb6-2fe9-4d4a-9e00-5dce7773d358' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"14ca4eb6-2fe9-4d4a-9e00-5dce7773d358","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F14ca4eb6-2fe9-4d4a-9e00-5dce7773d358': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F14ca4eb6-2fe9-4d4a-9e00-5dce7773d358","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]},"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":null},"raw_response":{},"request_id":"a6e799d0-72ca-470f-8ea5-4e50fa50b1da","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454510.021882} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b6ea4011-30de-4340-a346-057e3a3c2095","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454510.0221548} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"9958e633fa0f407fc9fe6b00cd5e9831","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":"b556c3f0-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/abb5d430-4cd6-4359-8123-dd237f3327e9"},{"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/87e69402-feb4-43a5-a3f1-6c864621e32a"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/14ca4eb6-2fe9-4d4a-9e00-5dce7773d358"}}},"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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d11da2207a998585a444910c5449d41c","responseTime":1,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/abb5d430-4cd6-4359-8123-dd237f3327e9"},{"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/87e69402-feb4-43a5-a3f1-6c864621e32a"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/14ca4eb6-2fe9-4d4a-9e00-5dce7773d358"}}},"level":"info","message":"received a callback"} device_1 | {"data":{"peerconnection":"14ca4eb6-2fe9-4d4a-9e00-5dce7773d358","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/14ca4eb6-2fe9-4d4a-9e00-5dce7773d358 204 279ms","method":"DELETE","requestID":"b556c3f0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":279,"status":204,"url":"/peerconnections/14ca4eb6-2fe9-4d4a-9e00-5dce7773d358"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/44287450-b6f0-4558-80b0-17f808c4a121"},"level":"info","message":"Successfully finished experiment"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F44287450-b6f0-4558-80b0-17f808c4a121': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F44287450-b6f0-4558-80b0-17f808c4a121","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]},"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":null},"raw_response":{},"request_id":"e2077996-bbd7-419a-925c-87cf88c744fe","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454510.5406268} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"266422bc-893e-45cb-8949-92ec6c8f37c5","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454510.5408113} authorization_1 | {"level":"info","message":"POST /relations/update 200 120ms","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":"542896fe10ce8fb4fc55a63c643df5eb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":120}} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/44287450-b6f0-4558-80b0-17f808c4a121"} gateway_1 | {"time_local":"20/Feb/2024:18:41:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/44287450-b6f0-4558-80b0-17f808c4a121 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"1.359","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"542896fe10ce8fb4fc55a63c643df5eb"} gateway_1 | {"time_local":"20/Feb/2024:18:41:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1678","request_time":"4.545","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"f95ce2712f9742a2d59a7f9eacfde26f"} experiment_1 | {"level":"info","message":"DELETE /experiments/44287450-b6f0-4558-80b0-17f808c4a121 204 1356ms","method":"DELETE","requestID":"542896fe10ce8fb4fc55a63c643df5eb","responseTime":1356,"status":204,"url":"/experiments/44287450-b6f0-4558-80b0-17f808c4a121"} gateway_1 | {"time_local":"20/Feb/2024:18:41:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"1.329","http_referrer":"","http_user_agent":"node-fetch","requestID":"9958e633fa0f407fc9fe6b00cd5e9831"} gateway_1 | {"time_local":"20/Feb/2024:18:41:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"1.330","http_referrer":"","http_user_agent":"node-fetch","requestID":"d11da2207a998585a444910c5449d41c"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1325ms","method":"POST","requestID":"9958e633fa0f407fc9fe6b00cd5e9831","responseTime":1325,"status":200,"url":"/callbacks/experiment"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1325ms","method":"POST","requestID":"d11da2207a998585a444910c5449d41c","responseTime":1325,"status":200,"url":"/callbacks/experiment"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUxMX0.4P7svR6hHYBwCSRLbsnKzk3nZSCv4NlYcvviBG_jneQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"78261b977cf1256c4b9acd5cc15e78e6","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} gateway_1 | {"time_local":"20/Feb/2024:18:41:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1762","request_time":"3.285","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"ece1e36d5fdc93f614c3d7c7a53d3d35"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":230,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:51Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":230,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.267561,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:51Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454511,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUxMX0.4P7svR6hHYBwCSRLbsnKzk3nZSCv4NlYcvviBG_jneQ"} 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":"78261b977cf1256c4b9acd5cc15e78e6"},"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/87e69402-feb4-43a5-a3f1-6c864621e32a' 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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fae6e249a-4e6e-4f36-af64-626608a370b7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"959e5d4c-82f1-4f7b-8aa3-545d0dff2c23","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454511.6490908} 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":"78261b977cf1256c4b9acd5cc15e78e6"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9762fdec-e5f5-4cad-b71a-ba00d9b5989f","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454511.656247} 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":"78261b977cf1256c4b9acd5cc15e78e6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/abb5d430-4cd6-4359-8123-dd237f3327e9' closed"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fae6e249a-4e6e-4f36-af64-626608a370b7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"434dfcd4-efd6-4d36-865b-b744a696b75a","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454511.8569086} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e0b4dbc0-0788-4f0d-a1bf-63bb3acdb3fc","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454511.85733} authorization_1 | {"level":"info","message":"POST /relations/update 200 204ms","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":"78261b977cf1256c4b9acd5cc15e78e6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":204}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fae6e249a-4e6e-4f36-af64-626608a370b7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fae6e249a-4e6e-4f36-af64-626608a370b7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:51.856875285Z"}]},"request_id":"0f5d37b0-b899-4537-9ce9-9db0de84631a","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454511.8651567} 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":"78261b977cf1256c4b9acd5cc15e78e6"},"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 514ms","method":"POST","requestID":"78261b977cf1256c4b9acd5cc15e78e6","responseTime":514,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"20/Feb/2024:18:41:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.524","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"78261b977cf1256c4b9acd5cc15e78e6"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUxMX0.4P7svR6hHYBwCSRLbsnKzk3nZSCv4NlYcvviBG_jneQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d939ddf1d485d1649d96e659b6bbab45","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":231,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:51Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":231,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.178621,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:51Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454511,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUxMX0.4P7svR6hHYBwCSRLbsnKzk3nZSCv4NlYcvviBG_jneQ"} 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":"d939ddf1d485d1649d96e659b6bbab45"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7f96a7e9-9304-4269-93e2-2a29fa8f5c70","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"06592e2e-3d4d-4964-b1bf-b9661708f089","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454512.0418258} 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":"d939ddf1d485d1649d96e659b6bbab45"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"eeba900e-bf58-4cfa-8d92-69d4300e3e80","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454512.0498447} 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":"d939ddf1d485d1649d96e659b6bbab45"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7f96a7e9-9304-4269-93e2-2a29fa8f5c70","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"af1ae766-e50b-41ac-87a9-f9a79a58e779","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454512.2246659} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"37c4be7f-4759-4d38-9c45-13bc27959fe3","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454512.224874} authorization_1 | {"level":"info","message":"POST /relations/update 200 177ms","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":"d939ddf1d485d1649d96e659b6bbab45"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":177}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7f96a7e9-9304-4269-93e2-2a29fa8f5c70","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7f96a7e9-9304-4269-93e2-2a29fa8f5c70","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:52.224643972Z"}]},"request_id":"8e7faa06-8f6a-4773-8859-2b15ed5519b8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454512.2305968} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d939ddf1d485d1649d96e659b6bbab45"},"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 357ms","method":"POST","requestID":"d939ddf1d485d1649d96e659b6bbab45","responseTime":357,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"20/Feb/2024:18:41:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.387","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d939ddf1d485d1649d96e659b6bbab45"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUxMn0.zkD63mViUOjiTB1kWoFFLdsq8kOikN5SFyur5-lAYGI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3afef08f82ce050be592a5b80f363d6d","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":232,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:52Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":232,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.941167,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:52Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7f96a7e9-9304-4269-93e2-2a29fa8f5c70","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/7f96a7e9-9304-4269-93e2-2a29fa8f5c70","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454512,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUxMn0.zkD63mViUOjiTB1kWoFFLdsq8kOikN5SFyur5-lAYGI"} 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":"3afef08f82ce050be592a5b80f363d6d"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7f96a7e9-9304-4269-93e2-2a29fa8f5c70","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7f96a7e9-9304-4269-93e2-2a29fa8f5c70","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:52.224643972Z"}]},"request_id":"6d3b53a6-ea5c-4151-b7bd-4fe5d32632ce","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454512.729215} 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":"3afef08f82ce050be592a5b80f363d6d"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2a3678d6-d361-4aa2-913a-fdfe098d59dd","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454512.7360797} 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":"3afef08f82ce050be592a5b80f363d6d"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7f96a7e9-9304-4269-93e2-2a29fa8f5c70","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7f96a7e9-9304-4269-93e2-2a29fa8f5c70","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:52.224643972Z"}]},"request_id":"82d55823-12e2-4c92-aa3d-863f73506e1a","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454512.902752} 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":"3afef08f82ce050be592a5b80f363d6d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"PATCH /devices/7f96a7e9-9304-4269-93e2-2a29fa8f5c70 200 191ms","method":"PATCH","requestID":"3afef08f82ce050be592a5b80f363d6d","responseTime":191,"status":200,"url":"/devices/7f96a7e9-9304-4269-93e2-2a29fa8f5c70"} gateway_1 | {"time_local":"20/Feb/2024:18:41:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/7f96a7e9-9304-4269-93e2-2a29fa8f5c70 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.196","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"3afef08f82ce050be592a5b80f363d6d"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUxMn0.zkD63mViUOjiTB1kWoFFLdsq8kOikN5SFyur5-lAYGI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"dd4ba8f9bee828568daca9e224434289","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":233,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:52Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":233,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.315823,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:52Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7f96a7e9-9304-4269-93e2-2a29fa8f5c70","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/7f96a7e9-9304-4269-93e2-2a29fa8f5c70","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454512,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUxMn0.zkD63mViUOjiTB1kWoFFLdsq8kOikN5SFyur5-lAYGI"} 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":"dd4ba8f9bee828568daca9e224434289"},"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":"20/Feb/2024:18:41:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/7f96a7e9-9304-4269-93e2-2a29fa8f5c70/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.148","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"dd4ba8f9bee828568daca9e224434289"} device_1 | {"level":"info","message":"POST /devices/7f96a7e9-9304-4269-93e2-2a29fa8f5c70/websocket 200 143ms","method":"POST","requestID":"dd4ba8f9bee828568daca9e224434289","responseTime":143,"status":200,"url":"/devices/7f96a7e9-9304-4269-93e2-2a29fa8f5c70/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/7f96a7e9-9304-4269-93e2-2a29fa8f5c70' 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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"b7ac3c3196852cb60ce39e6a95b76991","responseTime":2,"status":200,"url":"/auth"} gateway_1 | {"time_local":"20/Feb/2024:18:41:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/ae6e249a-4e6e-4f36-af64-626608a370b7/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":"b7ac3c3196852cb60ce39e6a95b76991"} device_1 | {"level":"info","message":"OPTIONS /devices/ae6e249a-4e6e-4f36-af64-626608a370b7/websocket 200 1ms","method":"OPTIONS","requestID":"b7ac3c3196852cb60ce39e6a95b76991","responseTime":1,"status":200,"url":"/devices/ae6e249a-4e6e-4f36-af64-626608a370b7/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUxNH0.L5ey7CXEv-JzVLtCcQbDYjIHghyVcHSTuK_qMeSNNO4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"4eacc8da2be862b06d3cc320d902d21e","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":234,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:54Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":234,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.284464,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:54Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ae6e249a-4e6e-4f36-af64-626608a370b7","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/ae6e249a-4e6e-4f36-af64-626608a370b7","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454514,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUxNH0.L5ey7CXEv-JzVLtCcQbDYjIHghyVcHSTuK_qMeSNNO4"} 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":"4eacc8da2be862b06d3cc320d902d21e"},"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":"20/Feb/2024:18:41:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/ae6e249a-4e6e-4f36-af64-626608a370b7/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.170","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"4eacc8da2be862b06d3cc320d902d21e"} device_1 | {"level":"info","message":"POST /devices/ae6e249a-4e6e-4f36-af64-626608a370b7/websocket 200 163ms","method":"POST","requestID":"4eacc8da2be862b06d3cc320d902d21e","responseTime":163,"status":200,"url":"/devices/ae6e249a-4e6e-4f36-af64-626608a370b7/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/ae6e249a-4e6e-4f36-af64-626608a370b7' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUxNH0.L5ey7CXEv-JzVLtCcQbDYjIHghyVcHSTuK_qMeSNNO4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"53df1acb22406a8d8bcbd230095367af","responseTime":7,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":235,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:54Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":235,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.03118,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:54Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ae6e249a-4e6e-4f36-af64-626608a370b7","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/ae6e249a-4e6e-4f36-af64-626608a370b7","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454514,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUxNH0.L5ey7CXEv-JzVLtCcQbDYjIHghyVcHSTuK_qMeSNNO4"} 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":"53df1acb22406a8d8bcbd230095367af"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fae6e249a-4e6e-4f36-af64-626608a370b7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fae6e249a-4e6e-4f36-af64-626608a370b7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:51.856875285Z"}]},"request_id":"8933dee2-a546-497a-b0ba-6117ede645ee","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454514.481202} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"53df1acb22406a8d8bcbd230095367af"},"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":"20/Feb/2024:18:41:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ae6e249a-4e6e-4f36-af64-626608a370b7? 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":"53df1acb22406a8d8bcbd230095367af"} device_1 | {"level":"info","message":"GET /devices/ae6e249a-4e6e-4f36-af64-626608a370b7? 200 14ms","method":"GET","requestID":"53df1acb22406a8d8bcbd230095367af","responseTime":15,"status":200,"url":"/devices/ae6e249a-4e6e-4f36-af64-626608a370b7?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUxNH0.L5ey7CXEv-JzVLtCcQbDYjIHghyVcHSTuK_qMeSNNO4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2bb32ec65310b3f4882fa1c4b6714617","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":236,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:54Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":236,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.301334,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:54Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7f96a7e9-9304-4269-93e2-2a29fa8f5c70","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/7f96a7e9-9304-4269-93e2-2a29fa8f5c70","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454514,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUxNH0.L5ey7CXEv-JzVLtCcQbDYjIHghyVcHSTuK_qMeSNNO4"} 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":"2bb32ec65310b3f4882fa1c4b6714617"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7f96a7e9-9304-4269-93e2-2a29fa8f5c70","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7f96a7e9-9304-4269-93e2-2a29fa8f5c70","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:52.224643972Z"}]},"request_id":"2f47b16f-4941-4332-966c-737063f087f6","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454514.5023558} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2bb32ec65310b3f4882fa1c4b6714617"},"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/7f96a7e9-9304-4269-93e2-2a29fa8f5c70? 200 16ms","method":"GET","requestID":"2bb32ec65310b3f4882fa1c4b6714617","responseTime":16,"status":200,"url":"/devices/7f96a7e9-9304-4269-93e2-2a29fa8f5c70?"} gateway_1 | {"time_local":"20/Feb/2024:18:41:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7f96a7e9-9304-4269-93e2-2a29fa8f5c70? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2bb32ec65310b3f4882fa1c4b6714617"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUxNH0.L5ey7CXEv-JzVLtCcQbDYjIHghyVcHSTuK_qMeSNNO4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"afe362bc870a51cd1a074d2b4e34e7b2","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:48424","level":"info","msg":"Received request.","req_id":237,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:54Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":237,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.164,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:54Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454514,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUxNH0.L5ey7CXEv-JzVLtCcQbDYjIHghyVcHSTuK_qMeSNNO4"} 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":"afe362bc870a51cd1a074d2b4e34e7b2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e3a87dcb-72cc-417d-bb1e-e410972407a2"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e3a87dcb-72cc-417d-bb1e-e410972407a2"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e3a87dcb-72cc-417d-bb1e-e410972407a2"},"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:48424","level":"info","msg":"Received request.","req_id":238,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:54Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":238,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.041298,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:54Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ae6e249a-4e6e-4f36-af64-626608a370b7","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/ae6e249a-4e6e-4f36-af64-626608a370b7","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454514,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUxNH0.L5ey7CXEv-JzVLtCcQbDYjIHghyVcHSTuK_qMeSNNO4"} 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":"b82eea30-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:42376","level":"info","msg":"Received request.","req_id":239,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:54Z"} authorization_1 | {"client_addr":"127.0.0.1:42376","level":"info","msg":"Sent response.","req_id":239,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.181605,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:54Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7f96a7e9-9304-4269-93e2-2a29fa8f5c70","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/7f96a7e9-9304-4269-93e2-2a29fa8f5c70","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454514,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUxNH0.L5ey7CXEv-JzVLtCcQbDYjIHghyVcHSTuK_qMeSNNO4"} authorization_1 | {"level":"info","message":"POST /authorize 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b82f3850-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fae6e249a-4e6e-4f36-af64-626608a370b7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fae6e249a-4e6e-4f36-af64-626608a370b7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:51.856875285Z"}]},"request_id":"afa55a28-937f-4133-94d8-deb4615e056e","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454514.786431} 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":"b82eea30-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7f96a7e9-9304-4269-93e2-2a29fa8f5c70","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7f96a7e9-9304-4269-93e2-2a29fa8f5c70","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:52.224643972Z"}]},"request_id":"b052e3f9-f7a8-47a4-bb8f-32c4a43ab4dd","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454514.7911785} device_1 | {"level":"info","message":"getDevicesByDeviceId 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":"b82f3850-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"GET /devices/ae6e249a-4e6e-4f36-af64-626608a370b7? 200 21ms","method":"GET","requestID":"b82eea30-d01f-11ee-ad1d-cbf3af4d0136","responseTime":21,"status":200,"url":"/devices/ae6e249a-4e6e-4f36-af64-626608a370b7?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/7f96a7e9-9304-4269-93e2-2a29fa8f5c70? 200 24ms","method":"GET","requestID":"b82f3850-d01f-11ee-ad1d-cbf3af4d0136","responseTime":24,"status":200,"url":"/devices/7f96a7e9-9304-4269-93e2-2a29fa8f5c70?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e3a87dcb-72cc-417d-bb1e-e410972407a2"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e3a87dcb-72cc-417d-bb1e-e410972407a2"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e3a87dcb-72cc-417d-bb1e-e410972407a2"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e3a87dcb-72cc-417d-bb1e-e410972407a2"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e3a87dcb-72cc-417d-bb1e-e410972407a2"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e3a87dcb-72cc-417d-bb1e-e410972407a2"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e3a87dcb-72cc-417d-bb1e-e410972407a2"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e3a87dcb-72cc-417d-bb1e-e410972407a2"},"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:48424","level":"info","msg":"Received request.","req_id":240,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:55Z"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e3a87dcb-72cc-417d-bb1e-e410972407a2"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":240,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.186779,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:55Z"} authorization_1 | {"client_addr":"127.0.0.1:42376","level":"info","msg":"Received request.","req_id":241,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:55Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ae6e249a-4e6e-4f36-af64-626608a370b7","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/ae6e249a-4e6e-4f36-af64-626608a370b7","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454514,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUxNH0.L5ey7CXEv-JzVLtCcQbDYjIHghyVcHSTuK_qMeSNNO4"} 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":"b86cb680-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:42376","level":"info","msg":"Sent response.","req_id":241,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.111739,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:55Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7f96a7e9-9304-4269-93e2-2a29fa8f5c70","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/7f96a7e9-9304-4269-93e2-2a29fa8f5c70","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454514,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUxNH0.L5ey7CXEv-JzVLtCcQbDYjIHghyVcHSTuK_qMeSNNO4"} 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":"b86d04a0-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fae6e249a-4e6e-4f36-af64-626608a370b7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fae6e249a-4e6e-4f36-af64-626608a370b7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:51.856875285Z"}]},"request_id":"23ffb600-f6ff-4116-bb05-80cd6edf41d4","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454515.1960037} 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":"b86cb680-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7f96a7e9-9304-4269-93e2-2a29fa8f5c70","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7f96a7e9-9304-4269-93e2-2a29fa8f5c70","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:52.224643972Z"}]},"request_id":"7a2134a7-3ff2-4922-b21e-db568f65f3d9","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454515.196992} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b86d04a0-d01f-11ee-ad1d-cbf3af4d0136"},"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/ae6e249a-4e6e-4f36-af64-626608a370b7? 200 27ms","method":"GET","requestID":"b86cb680-d01f-11ee-ad1d-cbf3af4d0136","responseTime":27,"status":200,"url":"/devices/ae6e249a-4e6e-4f36-af64-626608a370b7?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/7f96a7e9-9304-4269-93e2-2a29fa8f5c70? 200 26ms","method":"GET","requestID":"b86d04a0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":26,"status":200,"url":"/devices/7f96a7e9-9304-4269-93e2-2a29fa8f5c70?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":242,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:55Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":242,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.867303,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:55Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/ae6e249a-4e6e-4f36-af64-626608a370b7","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ae6e249a-4e6e-4f36-af64-626608a370b7","object_type":"device","rebac_allow":false,"scope_allow":false,"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":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b8717170-d01f-11ee-ad1d-cbf3af4d0136"},"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/ae6e249a-4e6e-4f36-af64-626608a370b7/signaling 200 8ms","method":"POST","requestID":"b8717170-d01f-11ee-ad1d-cbf3af4d0136","responseTime":8,"status":200,"url":"/devices/ae6e249a-4e6e-4f36-af64-626608a370b7/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":243,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:55Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":243,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.918969,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:55Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/7f96a7e9-9304-4269-93e2-2a29fa8f5c70","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7f96a7e9-9304-4269-93e2-2a29fa8f5c70","object_type":"device","rebac_allow":false,"scope_allow":false,"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":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b8734630-d01f-11ee-ad1d-cbf3af4d0136"},"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/7f96a7e9-9304-4269-93e2-2a29fa8f5c70/signaling 200 10ms","method":"POST","requestID":"b8734630-d01f-11ee-ad1d-cbf3af4d0136","responseTime":10,"status":200,"url":"/devices/7f96a7e9-9304-4269-93e2-2a29fa8f5c70/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e3a87dcb-72cc-417d-bb1e-e410972407a2"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e3a87dcb-72cc-417d-bb1e-e410972407a2"},"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":"1cc5451c-4c60-499f-8762-dcfad29fd3b4"},{"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":"9e83c667-68a6-4c68-b853-e860d956cdbe"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"21a5e22e-33b1-4485-9966-4a5e0c82da49"}]},"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/ae6e249a-4e6e-4f36-af64-626608a370b7"},{"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/7f96a7e9-9304-4269-93e2-2a29fa8f5c70"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":244,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:55Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":244,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.851254,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:55Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454514,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUxNH0.L5ey7CXEv-JzVLtCcQbDYjIHghyVcHSTuK_qMeSNNO4"} 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":"b8756910-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe3a87dcb-72cc-417d-bb1e-e410972407a2#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe3a87dcb-72cc-417d-bb1e-e410972407a2","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"458b50f0-aa2a-42a1-8e77-c57f2b3fa7bc","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454515.3636508} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"254f883d-3502-480b-87d7-cd30de696fcb","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454515.3638892} authorization_1 | {"level":"info","message":"POST /relations/update 200 181ms","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":"afe362bc870a51cd1a074d2b4e34e7b2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":181}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","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%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"4cdd46b7-e890-434f-92ef-e57f15ab0630","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454515.3661356} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"255e963d-3603-47e4-82a0-55e073906357","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454515.3674498} authorization_1 | {"level":"info","message":"POST /relations/update 200 125ms","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":"b8756910-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":125}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/e3a87dcb-72cc-417d-bb1e-e410972407a2","user":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 860ms","method":"POST","requestID":"afe362bc870a51cd1a074d2b4e34e7b2","responseTime":860,"status":201,"url":"/experiments?"} gateway_1 | {"time_local":"20/Feb/2024:18:41:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.869","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"afe362bc870a51cd1a074d2b4e34e7b2"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUxNX0.ohIELmYHrPyaf8QqzoMs6BS1V-_9v1YAbj_45GDb03E","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7518750af1a88b3f1a1534470d39e037","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":245,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:55Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":245,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.03012,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:55Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ae6e249a-4e6e-4f36-af64-626608a370b7","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/ae6e249a-4e6e-4f36-af64-626608a370b7","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454515,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUxNX0.ohIELmYHrPyaf8QqzoMs6BS1V-_9v1YAbj_45GDb03E"} 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":"7518750af1a88b3f1a1534470d39e037"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fae6e249a-4e6e-4f36-af64-626608a370b7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fae6e249a-4e6e-4f36-af64-626608a370b7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:51.856875285Z"}]},"request_id":"9e26615d-a4ca-41c9-be0a-d7067f85da12","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454515.3948774} 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":"7518750af1a88b3f1a1534470d39e037"},"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/89fbeacf-9896-483b-a354-d6bc1370cc3d'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/89fbeacf-9896-483b-a354-d6bc1370cc3d'"} 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 278ms","method":"POST","requestID":"b8756910-d01f-11ee-ad1d-cbf3af4d0136","responseTime":278,"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":"20/Feb/2024:18:41:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ae6e249a-4e6e-4f36-af64-626608a370b7? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.131","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7518750af1a88b3f1a1534470d39e037"} device_1 | {"level":"info","message":"GET /devices/ae6e249a-4e6e-4f36-af64-626608a370b7? 200 127ms","method":"GET","requestID":"7518750af1a88b3f1a1534470d39e037","responseTime":127,"status":200,"url":"/devices/ae6e249a-4e6e-4f36-af64-626608a370b7?"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUxNX0.ohIELmYHrPyaf8QqzoMs6BS1V-_9v1YAbj_45GDb03E","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2e6e4b17ad4f9e14a2a52ed444c08258","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":246,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:55Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":246,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.226569,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:55Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7f96a7e9-9304-4269-93e2-2a29fa8f5c70","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/7f96a7e9-9304-4269-93e2-2a29fa8f5c70","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454515,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUxNX0.ohIELmYHrPyaf8QqzoMs6BS1V-_9v1YAbj_45GDb03E"} 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":"2e6e4b17ad4f9e14a2a52ed444c08258"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7f96a7e9-9304-4269-93e2-2a29fa8f5c70","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7f96a7e9-9304-4269-93e2-2a29fa8f5c70","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:52.224643972Z"}]},"request_id":"702ae325-8771-445f-8e27-8510a381276f","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454515.5374653} 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":"2e6e4b17ad4f9e14a2a52ed444c08258"},"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":"20/Feb/2024:18:41:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7f96a7e9-9304-4269-93e2-2a29fa8f5c70? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.034","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2e6e4b17ad4f9e14a2a52ed444c08258"} device_1 | {"level":"info","message":"GET /devices/7f96a7e9-9304-4269-93e2-2a29fa8f5c70? 200 25ms","method":"GET","requestID":"2e6e4b17ad4f9e14a2a52ed444c08258","responseTime":25,"status":200,"url":"/devices/7f96a7e9-9304-4269-93e2-2a29fa8f5c70?"} device_1 | {"data":{"peerconnection":"89fbeacf-9896-483b-a354-d6bc1370cc3d","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/89fbeacf-9896-483b-a354-d6bc1370cc3d' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"89fbeacf-9896-483b-a354-d6bc1370cc3d","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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5676b2d46793c8983e32bcd0bf3d61bc","responseTime":1,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/ae6e249a-4e6e-4f36-af64-626608a370b7"},{"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/7f96a7e9-9304-4269-93e2-2a29fa8f5c70"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/89fbeacf-9896-483b-a354-d6bc1370cc3d"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 56ms","method":"POST","requestID":"5676b2d46793c8983e32bcd0bf3d61bc","responseTime":56,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:41:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.059","http_referrer":"","http_user_agent":"node-fetch","requestID":"5676b2d46793c8983e32bcd0bf3d61bc"} device_1 | {"data":{"peerconnection":"89fbeacf-9896-483b-a354-d6bc1370cc3d","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e3a87dcb-72cc-417d-bb1e-e410972407a2"},"level":"info","message":"Successfully created peerconnections for experiment"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUxNX0.ohIELmYHrPyaf8QqzoMs6BS1V-_9v1YAbj_45GDb03E","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"3bac72fe412065e085ad560ef2634039","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/e3a87dcb-72cc-417d-bb1e-e410972407a2"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":247,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:55Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":247,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.217405,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:55Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e3a87dcb-72cc-417d-bb1e-e410972407a2","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/e3a87dcb-72cc-417d-bb1e-e410972407a2","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454515,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUxNX0.ohIELmYHrPyaf8QqzoMs6BS1V-_9v1YAbj_45GDb03E"} 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":"3bac72fe412065e085ad560ef2634039"},"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/e3a87dcb-72cc-417d-bb1e-e410972407a2"} gateway_1 | {"time_local":"20/Feb/2024:18:41:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/e3a87dcb-72cc-417d-bb1e-e410972407a2 HTTP/1.1","status": "200","body_bytes_sent":"1362","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3bac72fe412065e085ad560ef2634039"} experiment_1 | {"level":"info","message":"GET /experiments/e3a87dcb-72cc-417d-bb1e-e410972407a2 200 18ms","method":"GET","requestID":"3bac72fe412065e085ad560ef2634039","responseTime":18,"status":200,"url":"/experiments/e3a87dcb-72cc-417d-bb1e-e410972407a2"} device_1 | {"data":{"peerconnection":"89fbeacf-9896-483b-a354-d6bc1370cc3d","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/89fbeacf-9896-483b-a354-d6bc1370cc3d' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"89fbeacf-9896-483b-a354-d6bc1370cc3d","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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"1f3208cb72ad192e2ddf9f8b07755f13","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/ae6e249a-4e6e-4f36-af64-626608a370b7"},{"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/7f96a7e9-9304-4269-93e2-2a29fa8f5c70"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/89fbeacf-9896-483b-a354-d6bc1370cc3d"}}},"level":"info","message":"received a callback"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUxNn0.CEuU-fm7g7xv1ku7218o7m6PqBi7n76G-7mXpBN9dG0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"576ca1698f231903b30a822f27eef611","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/e3a87dcb-72cc-417d-bb1e-e410972407a2"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":248,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:56Z"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":248,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.037896,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:56Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e3a87dcb-72cc-417d-bb1e-e410972407a2","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/e3a87dcb-72cc-417d-bb1e-e410972407a2","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454516,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUxNn0.CEuU-fm7g7xv1ku7218o7m6PqBi7n76G-7mXpBN9dG0"} 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":"576ca1698f231903b30a822f27eef611"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":249,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:56Z"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","contextual_tuples":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F89fbeacf-9896-483b-a354-d6bc1370cc3d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"090a2105-974e-420b-8c06-54958afa7bb4","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454516.0582435} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":249,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.327324,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:56Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/89fbeacf-9896-483b-a354-d6bc1370cc3d","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/89fbeacf-9896-483b-a354-d6bc1370cc3d","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/e3a87dcb-72cc-417d-bb1e-e410972407a2"} 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":"b8f26140-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} gateway_1 | {"time_local":"20/Feb/2024:18:41:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/e3a87dcb-72cc-417d-bb1e-e410972407a2 HTTP/1.1","status": "200","body_bytes_sent":"1362","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"576ca1698f231903b30a822f27eef611"} experiment_1 | {"level":"info","message":"GET /experiments/e3a87dcb-72cc-417d-bb1e-e410972407a2 200 12ms","method":"GET","requestID":"576ca1698f231903b30a822f27eef611","responseTime":12,"status":200,"url":"/experiments/e3a87dcb-72cc-417d-bb1e-e410972407a2"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUxNn0.CEuU-fm7g7xv1ku7218o7m6PqBi7n76G-7mXpBN9dG0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"c814671c85bdf7d0849c96cb7dda0ed7","responseTime":6,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/e3a87dcb-72cc-417d-bb1e-e410972407a2"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":250,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:56Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":250,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.410021,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:56Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e3a87dcb-72cc-417d-bb1e-e410972407a2","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/e3a87dcb-72cc-417d-bb1e-e410972407a2","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454516,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUxNn0.CEuU-fm7g7xv1ku7218o7m6PqBi7n76G-7mXpBN9dG0"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId 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":"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":"c814671c85bdf7d0849c96cb7dda0ed7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"GET /peerconnections/89fbeacf-9896-483b-a354-d6bc1370cc3d 200 127ms","method":"GET","requestID":"b8f26140-d01f-11ee-ad1d-cbf3af4d0136","responseTime":127,"status":200,"url":"/peerconnections/89fbeacf-9896-483b-a354-d6bc1370cc3d"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/e3a87dcb-72cc-417d-bb1e-e410972407a2"} experiment_1 | {"level":"info","message":"GET /experiments/e3a87dcb-72cc-417d-bb1e-e410972407a2 200 25ms","method":"GET","requestID":"c814671c85bdf7d0849c96cb7dda0ed7","responseTime":25,"status":200,"url":"/experiments/e3a87dcb-72cc-417d-bb1e-e410972407a2"} gateway_1 | {"time_local":"20/Feb/2024:18:41:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/e3a87dcb-72cc-417d-bb1e-e410972407a2 HTTP/1.1","status": "200","body_bytes_sent":"1362","request_time":"0.032","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c814671c85bdf7d0849c96cb7dda0ed7"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUxNn0.CEuU-fm7g7xv1ku7218o7m6PqBi7n76G-7mXpBN9dG0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4ded9c40ef3d3456166f528291b25a02","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/e3a87dcb-72cc-417d-bb1e-e410972407a2"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 262ms","method":"POST","requestID":"1f3208cb72ad192e2ddf9f8b07755f13","responseTime":262,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:41:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.266","http_referrer":"","http_user_agent":"node-fetch","requestID":"1f3208cb72ad192e2ddf9f8b07755f13"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":251,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:56Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":251,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.266683,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:56Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e3a87dcb-72cc-417d-bb1e-e410972407a2","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/e3a87dcb-72cc-417d-bb1e-e410972407a2","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454516,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUxNn0.CEuU-fm7g7xv1ku7218o7m6PqBi7n76G-7mXpBN9dG0"} 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":"4ded9c40ef3d3456166f528291b25a02"},"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/e3a87dcb-72cc-417d-bb1e-e410972407a2"} gateway_1 | {"time_local":"20/Feb/2024:18:41:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/e3a87dcb-72cc-417d-bb1e-e410972407a2 HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4ded9c40ef3d3456166f528291b25a02"} experiment_1 | {"level":"info","message":"GET /experiments/e3a87dcb-72cc-417d-bb1e-e410972407a2 200 17ms","method":"GET","requestID":"4ded9c40ef3d3456166f528291b25a02","responseTime":17,"status":200,"url":"/experiments/e3a87dcb-72cc-417d-bb1e-e410972407a2"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUxNn0.CEuU-fm7g7xv1ku7218o7m6PqBi7n76G-7mXpBN9dG0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"17356fb35e0b7210205f61636b40f335","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/e3a87dcb-72cc-417d-bb1e-e410972407a2"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":252,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:56Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":252,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.672248,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:56Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e3a87dcb-72cc-417d-bb1e-e410972407a2","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/e3a87dcb-72cc-417d-bb1e-e410972407a2","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454516,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUxNn0.CEuU-fm7g7xv1ku7218o7m6PqBi7n76G-7mXpBN9dG0"} 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":"17356fb35e0b7210205f61636b40f335"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e3a87dcb-72cc-417d-bb1e-e410972407a2"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":253,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:56Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":253,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.955348,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:56Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/89fbeacf-9896-483b-a354-d6bc1370cc3d","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"peerconnection:http://localhost/peerconnections/89fbeacf-9896-483b-a354-d6bc1370cc3d","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454516,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUxNn0.CEuU-fm7g7xv1ku7218o7m6PqBi7n76G-7mXpBN9dG0"} 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":"b91e5340-d01f-11ee-ad1d-cbf3af4d0136"},"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/89fbeacf-9896-483b-a354-d6bc1370cc3d' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/89fbeacf-9896-483b-a354-d6bc1370cc3d' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"89fbeacf-9896-483b-a354-d6bc1370cc3d","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F89fbeacf-9896-483b-a354-d6bc1370cc3d': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F89fbeacf-9896-483b-a354-d6bc1370cc3d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]},"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":null},"raw_response":{},"request_id":"81cc5feb-79e4-4def-939f-5a79f6dcf1d5","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454516.358922} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"955bdb57-895e-4505-a84c-3151566acbab","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454516.3592703} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"90df29ec58308e9e5ec372c07ea9f204","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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/ae6e249a-4e6e-4f36-af64-626608a370b7"},{"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/7f96a7e9-9304-4269-93e2-2a29fa8f5c70"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/89fbeacf-9896-483b-a354-d6bc1370cc3d"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"cfc09d52dbd45f2b636b110466f5cadf","responseTime":1,"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":"b91e5340-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} 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/ae6e249a-4e6e-4f36-af64-626608a370b7"},{"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/7f96a7e9-9304-4269-93e2-2a29fa8f5c70"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/89fbeacf-9896-483b-a354-d6bc1370cc3d"}}},"level":"info","message":"received a callback"} device_1 | {"data":{"peerconnection":"89fbeacf-9896-483b-a354-d6bc1370cc3d","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/89fbeacf-9896-483b-a354-d6bc1370cc3d 204 284ms","method":"DELETE","requestID":"b91e5340-d01f-11ee-ad1d-cbf3af4d0136","responseTime":284,"status":204,"url":"/peerconnections/89fbeacf-9896-483b-a354-d6bc1370cc3d"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e3a87dcb-72cc-417d-bb1e-e410972407a2"},"level":"info","message":"Successfully finished experiment"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe3a87dcb-72cc-417d-bb1e-e410972407a2': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe3a87dcb-72cc-417d-bb1e-e410972407a2","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]},"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":null},"raw_response":{},"request_id":"c052fe87-c0d5-41e2-b0f7-2b67180ac7e5","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454516.90249} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9b839f8f-4112-467b-8b72-a21339fe61d0","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454516.9032252} authorization_1 | {"level":"info","message":"POST /relations/update 200 138ms","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":"17356fb35e0b7210205f61636b40f335"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":138}} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/e3a87dcb-72cc-417d-bb1e-e410972407a2"} gateway_1 | {"time_local":"20/Feb/2024:18:41:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/e3a87dcb-72cc-417d-bb1e-e410972407a2 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"1.282","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"17356fb35e0b7210205f61636b40f335"} gateway_1 | {"time_local":"20/Feb/2024:18:41:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1678","request_time":"4.545","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"41dbc0c02a5d3b81ff4d3f54d6c2c97a"} experiment_1 | {"level":"info","message":"DELETE /experiments/e3a87dcb-72cc-417d-bb1e-e410972407a2 204 1279ms","method":"DELETE","requestID":"17356fb35e0b7210205f61636b40f335","responseTime":1279,"status":204,"url":"/experiments/e3a87dcb-72cc-417d-bb1e-e410972407a2"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1249ms","method":"POST","requestID":"90df29ec58308e9e5ec372c07ea9f204","responseTime":1249,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:41:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"1.254","http_referrer":"","http_user_agent":"node-fetch","requestID":"90df29ec58308e9e5ec372c07ea9f204"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1252ms","method":"POST","requestID":"cfc09d52dbd45f2b636b110466f5cadf","responseTime":1252,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:41:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"1.255","http_referrer":"","http_user_agent":"node-fetch","requestID":"cfc09d52dbd45f2b636b110466f5cadf"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUxN30.64lSMgzUD4pCh4EdSV5Cwr86Fluxdft3f02hwD_jhXg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"570bb093d5d8453d41fab96ef885033c","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} gateway_1 | {"time_local":"20/Feb/2024:18:41:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1762","request_time":"3.295","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"628c1248bef744be36ade2d8d419c19c"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":254,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:57Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":254,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.704724,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:57Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454517,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUxN30.64lSMgzUD4pCh4EdSV5Cwr86Fluxdft3f02hwD_jhXg"} 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":"570bb093d5d8453d41fab96ef885033c"},"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/7f96a7e9-9304-4269-93e2-2a29fa8f5c70' 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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3a85d37a-3bff-46f1-a278-63788de6d6d5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"dcc5ed64-e835-4793-b854-243e5c83f7df","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454517.9366076} 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":"570bb093d5d8453d41fab96ef885033c"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3ff5e211-e0fd-4ecb-b8b4-3060673a9e56","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454517.943617} 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":"570bb093d5d8453d41fab96ef885033c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/ae6e249a-4e6e-4f36-af64-626608a370b7' closed"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3a85d37a-3bff-46f1-a278-63788de6d6d5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"87e15f2d-f436-401b-995c-872babf7e31e","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454518.3095083} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"461a9284-a3f9-44f8-a701-6dfd090589d4","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454518.3097217} authorization_1 | {"level":"info","message":"POST /relations/update 200 370ms","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":"570bb093d5d8453d41fab96ef885033c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":370}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3a85d37a-3bff-46f1-a278-63788de6d6d5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3a85d37a-3bff-46f1-a278-63788de6d6d5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:58.309481963Z"}]},"request_id":"fb8dd517-4acb-4c4c-a01d-a74f075ad02b","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454518.3186345} 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":"570bb093d5d8453d41fab96ef885033c"},"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 705ms","method":"POST","requestID":"570bb093d5d8453d41fab96ef885033c","responseTime":705,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"20/Feb/2024:18:41:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.713","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"570bb093d5d8453d41fab96ef885033c"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUxOH0.4w26wAk0sbO4G0uolhYOu8P_Xc2wfrCc7gitxdrDnhI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"9d948c067ac85be805539acbab983ebd","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":255,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:58Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":255,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.680907,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:58Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454518,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUxOH0.4w26wAk0sbO4G0uolhYOu8P_Xc2wfrCc7gitxdrDnhI"} 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":"9d948c067ac85be805539acbab983ebd"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75a7d13a-68e6-4e23-a3c0-820a543ef9ba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c4de16a8-5d50-42d8-9dd7-cf0dd6ef867f","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454518.4948478} 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":"9d948c067ac85be805539acbab983ebd"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"beb6e055-502f-4354-be3e-6d50e65fa77e","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454518.503355} 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":"9d948c067ac85be805539acbab983ebd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75a7d13a-68e6-4e23-a3c0-820a543ef9ba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"5ab9722a-5d3f-442d-8db1-bd8a14a72bd7","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454518.68608} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bff9a2a3-1ea1-4549-9a62-4fc3dd7062a2","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454518.6863842} authorization_1 | {"level":"info","message":"POST /relations/update 200 186ms","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":"9d948c067ac85be805539acbab983ebd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":186}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75a7d13a-68e6-4e23-a3c0-820a543ef9ba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75a7d13a-68e6-4e23-a3c0-820a543ef9ba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:58.686049431Z"}]},"request_id":"355a91a5-0a42-4e1c-bc93-349d9662bc75","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454518.6938422} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9d948c067ac85be805539acbab983ebd"},"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 367ms","method":"POST","requestID":"9d948c067ac85be805539acbab983ebd","responseTime":367,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"20/Feb/2024:18:41: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.401","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9d948c067ac85be805539acbab983ebd"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUxOX0.bTYX4ZQ2fHxTvxXub74g_ePKrJP1KDI-58OJTu1h_1o","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5b3ccd305330b8dcf70ec7e22aa9cf3c","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":256,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:59Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":256,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.840451,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:59Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/3a85d37a-3bff-46f1-a278-63788de6d6d5","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/3a85d37a-3bff-46f1-a278-63788de6d6d5","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454519,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUxOX0.bTYX4ZQ2fHxTvxXub74g_ePKrJP1KDI-58OJTu1h_1o"} 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":"5b3ccd305330b8dcf70ec7e22aa9cf3c"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3a85d37a-3bff-46f1-a278-63788de6d6d5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3a85d37a-3bff-46f1-a278-63788de6d6d5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:58.309481963Z"}]},"request_id":"dba68960-c55e-4ad5-b6cd-98335ca56c36","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454519.1865094} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5b3ccd305330b8dcf70ec7e22aa9cf3c"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2c509f1a-a087-4ba0-b129-6d5c7a7e6617","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454519.1939764} 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":"5b3ccd305330b8dcf70ec7e22aa9cf3c"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3a85d37a-3bff-46f1-a278-63788de6d6d5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3a85d37a-3bff-46f1-a278-63788de6d6d5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:58.309481963Z"}]},"request_id":"27a9588c-f6b4-434b-9fbc-85cfd28a4cb7","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454519.3713415} 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":"5b3ccd305330b8dcf70ec7e22aa9cf3c"},"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":"20/Feb/2024:18:41:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/3a85d37a-3bff-46f1-a278-63788de6d6d5 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.206","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"5b3ccd305330b8dcf70ec7e22aa9cf3c"} device_1 | {"level":"info","message":"PATCH /devices/3a85d37a-3bff-46f1-a278-63788de6d6d5 200 202ms","method":"PATCH","requestID":"5b3ccd305330b8dcf70ec7e22aa9cf3c","responseTime":202,"status":200,"url":"/devices/3a85d37a-3bff-46f1-a278-63788de6d6d5"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUxOX0.bTYX4ZQ2fHxTvxXub74g_ePKrJP1KDI-58OJTu1h_1o","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"de74b0628fd4fe90b6a2f0de41b853bb","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":257,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:41:59Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":257,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.782326,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:41:59Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/3a85d37a-3bff-46f1-a278-63788de6d6d5","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/3a85d37a-3bff-46f1-a278-63788de6d6d5","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454519,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUxOX0.bTYX4ZQ2fHxTvxXub74g_ePKrJP1KDI-58OJTu1h_1o"} 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":"de74b0628fd4fe90b6a2f0de41b853bb"},"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/3a85d37a-3bff-46f1-a278-63788de6d6d5/websocket 200 144ms","method":"POST","requestID":"de74b0628fd4fe90b6a2f0de41b853bb","responseTime":144,"status":200,"url":"/devices/3a85d37a-3bff-46f1-a278-63788de6d6d5/websocket"} gateway_1 | {"time_local":"20/Feb/2024:18:41:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/3a85d37a-3bff-46f1-a278-63788de6d6d5/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.149","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"de74b0628fd4fe90b6a2f0de41b853bb"} device_1 | {"level":"info","message":"device 'http://localhost/devices/3a85d37a-3bff-46f1-a278-63788de6d6d5' 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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"a5e8a3689545543da9f8c2ffc0f5a019","responseTime":1,"status":200,"url":"/auth"} gateway_1 | {"time_local":"20/Feb/2024:18:42:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/75a7d13a-68e6-4e23-a3c0-820a543ef9ba/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":"a5e8a3689545543da9f8c2ffc0f5a019"} device_1 | {"level":"info","message":"OPTIONS /devices/75a7d13a-68e6-4e23-a3c0-820a543ef9ba/websocket 200 1ms","method":"OPTIONS","requestID":"a5e8a3689545543da9f8c2ffc0f5a019","responseTime":1,"status":200,"url":"/devices/75a7d13a-68e6-4e23-a3c0-820a543ef9ba/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUyMH0.0MA-U8n7U6xxtY-riL6WAKdvpOpDKlEVICkrHlj0XkM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"15f59f8630793e042461ec3dc0f56c63","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":258,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:00Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":258,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.111316,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:00Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/75a7d13a-68e6-4e23-a3c0-820a543ef9ba","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/75a7d13a-68e6-4e23-a3c0-820a543ef9ba","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454520,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUyMH0.0MA-U8n7U6xxtY-riL6WAKdvpOpDKlEVICkrHlj0XkM"} 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":"15f59f8630793e042461ec3dc0f56c63"},"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":"20/Feb/2024:18:42:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/75a7d13a-68e6-4e23-a3c0-820a543ef9ba/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.130","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"15f59f8630793e042461ec3dc0f56c63"} device_1 | {"level":"info","message":"POST /devices/75a7d13a-68e6-4e23-a3c0-820a543ef9ba/websocket 200 125ms","method":"POST","requestID":"15f59f8630793e042461ec3dc0f56c63","responseTime":125,"status":200,"url":"/devices/75a7d13a-68e6-4e23-a3c0-820a543ef9ba/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/75a7d13a-68e6-4e23-a3c0-820a543ef9ba' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUyMH0.0MA-U8n7U6xxtY-riL6WAKdvpOpDKlEVICkrHlj0XkM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"f4596083e7966162a6935b490c9182c8","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":259,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:00Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":259,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.240894,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:00Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3a85d37a-3bff-46f1-a278-63788de6d6d5","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/3a85d37a-3bff-46f1-a278-63788de6d6d5","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454520,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUyMH0.0MA-U8n7U6xxtY-riL6WAKdvpOpDKlEVICkrHlj0XkM"} 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":"f4596083e7966162a6935b490c9182c8"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3a85d37a-3bff-46f1-a278-63788de6d6d5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3a85d37a-3bff-46f1-a278-63788de6d6d5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:58.309481963Z"}]},"request_id":"6ef9385f-1bb2-49b5-bcac-69307aa8715d","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454520.9686913} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f4596083e7966162a6935b490c9182c8"},"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":"20/Feb/2024:18:42:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3a85d37a-3bff-46f1-a278-63788de6d6d5? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f4596083e7966162a6935b490c9182c8"} device_1 | {"level":"info","message":"GET /devices/3a85d37a-3bff-46f1-a278-63788de6d6d5? 200 18ms","method":"GET","requestID":"f4596083e7966162a6935b490c9182c8","responseTime":18,"status":200,"url":"/devices/3a85d37a-3bff-46f1-a278-63788de6d6d5?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUyMH0.0MA-U8n7U6xxtY-riL6WAKdvpOpDKlEVICkrHlj0XkM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"595a560fb34cde68320194f1ca6523a0","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":260,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:00Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":260,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.200557,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:00Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/75a7d13a-68e6-4e23-a3c0-820a543ef9ba","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/75a7d13a-68e6-4e23-a3c0-820a543ef9ba","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454520,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUyMH0.0MA-U8n7U6xxtY-riL6WAKdvpOpDKlEVICkrHlj0XkM"} 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":"595a560fb34cde68320194f1ca6523a0"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75a7d13a-68e6-4e23-a3c0-820a543ef9ba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75a7d13a-68e6-4e23-a3c0-820a543ef9ba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:58.686049431Z"}]},"request_id":"8fa65a35-926d-44e6-9a70-3d6862f5d676","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454520.9914823} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"595a560fb34cde68320194f1ca6523a0"},"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":"20/Feb/2024:18:42:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/75a7d13a-68e6-4e23-a3c0-820a543ef9ba? 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":"595a560fb34cde68320194f1ca6523a0"} device_1 | {"level":"info","message":"GET /devices/75a7d13a-68e6-4e23-a3c0-820a543ef9ba? 200 15ms","method":"GET","requestID":"595a560fb34cde68320194f1ca6523a0","responseTime":15,"status":200,"url":"/devices/75a7d13a-68e6-4e23-a3c0-820a543ef9ba?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUyMX0.3J3bn1P_Plv-OKy7gX1sUhg3kbyvWKnNWksfCLFEfMY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d60a425d8cd26b74c6dbe5bed0e59baf","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:48424","level":"info","msg":"Received request.","req_id":261,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:01Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":261,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.28773,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:01Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454521,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUyMX0.3J3bn1P_Plv-OKy7gX1sUhg3kbyvWKnNWksfCLFEfMY"} 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":"d60a425d8cd26b74c6dbe5bed0e59baf"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/338cc3ae-eca6-4d90-89b3-00aa6a04b579"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/338cc3ae-eca6-4d90-89b3-00aa6a04b579"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/338cc3ae-eca6-4d90-89b3-00aa6a04b579"},"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:48424","level":"info","msg":"Received request.","req_id":262,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:01Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":262,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.205256,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:01Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3a85d37a-3bff-46f1-a278-63788de6d6d5","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/3a85d37a-3bff-46f1-a278-63788de6d6d5","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454521,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUyMX0.3J3bn1P_Plv-OKy7gX1sUhg3kbyvWKnNWksfCLFEfMY"} 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":"bc0c9990-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"client_addr":"127.0.0.1:60374","level":"info","msg":"Received request.","req_id":263,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:01Z"} authorization_1 | {"client_addr":"127.0.0.1:60374","level":"info","msg":"Sent response.","req_id":263,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.030674,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:01Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/75a7d13a-68e6-4e23-a3c0-820a543ef9ba","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/75a7d13a-68e6-4e23-a3c0-820a543ef9ba","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454521,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUyMX0.3J3bn1P_Plv-OKy7gX1sUhg3kbyvWKnNWksfCLFEfMY"} 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":"bc0ce7b0-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3a85d37a-3bff-46f1-a278-63788de6d6d5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3a85d37a-3bff-46f1-a278-63788de6d6d5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:58.309481963Z"}]},"request_id":"022c7d36-48c9-4db0-bde2-2a1e9c5b4965","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454521.2718742} 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":"bc0c9990-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75a7d13a-68e6-4e23-a3c0-820a543ef9ba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75a7d13a-68e6-4e23-a3c0-820a543ef9ba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:58.686049431Z"}]},"request_id":"a5050c42-88da-498b-b2fe-533c5f7d134d","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454521.2763197} device_1 | {"level":"info","message":"getDevicesByDeviceId 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":"bc0ce7b0-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"GET /devices/3a85d37a-3bff-46f1-a278-63788de6d6d5? 200 21ms","method":"GET","requestID":"bc0c9990-d01f-11ee-ad1d-cbf3af4d0136","responseTime":21,"status":200,"url":"/devices/3a85d37a-3bff-46f1-a278-63788de6d6d5?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/75a7d13a-68e6-4e23-a3c0-820a543ef9ba? 200 21ms","method":"GET","requestID":"bc0ce7b0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":21,"status":200,"url":"/devices/75a7d13a-68e6-4e23-a3c0-820a543ef9ba?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/338cc3ae-eca6-4d90-89b3-00aa6a04b579"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/338cc3ae-eca6-4d90-89b3-00aa6a04b579"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/338cc3ae-eca6-4d90-89b3-00aa6a04b579"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/338cc3ae-eca6-4d90-89b3-00aa6a04b579"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/338cc3ae-eca6-4d90-89b3-00aa6a04b579"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/338cc3ae-eca6-4d90-89b3-00aa6a04b579"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/338cc3ae-eca6-4d90-89b3-00aa6a04b579"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/338cc3ae-eca6-4d90-89b3-00aa6a04b579"},"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:48424","level":"info","msg":"Received request.","req_id":264,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:01Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":264,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.408297,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:01Z"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/338cc3ae-eca6-4d90-89b3-00aa6a04b579"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:60374","level":"info","msg":"Received request.","req_id":265,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:01Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3a85d37a-3bff-46f1-a278-63788de6d6d5","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/3a85d37a-3bff-46f1-a278-63788de6d6d5","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454521,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUyMX0.3J3bn1P_Plv-OKy7gX1sUhg3kbyvWKnNWksfCLFEfMY"} 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":"bc4bc570-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:60374","level":"info","msg":"Sent response.","req_id":265,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.314539,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:01Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/75a7d13a-68e6-4e23-a3c0-820a543ef9ba","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/75a7d13a-68e6-4e23-a3c0-820a543ef9ba","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454521,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUyMX0.3J3bn1P_Plv-OKy7gX1sUhg3kbyvWKnNWksfCLFEfMY"} 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":"bc4c3aa0-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3a85d37a-3bff-46f1-a278-63788de6d6d5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3a85d37a-3bff-46f1-a278-63788de6d6d5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:58.309481963Z"}]},"request_id":"0bc9d9e9-86c4-4ea7-94ec-fd9ae55e3266","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454521.6866145} 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":"bc4bc570-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75a7d13a-68e6-4e23-a3c0-820a543ef9ba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75a7d13a-68e6-4e23-a3c0-820a543ef9ba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:58.686049431Z"}]},"request_id":"e7cd76d5-5d3b-4e58-b542-43fe4d484342","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454521.6876495} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bc4c3aa0-d01f-11ee-ad1d-cbf3af4d0136"},"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/3a85d37a-3bff-46f1-a278-63788de6d6d5? 200 22ms","method":"GET","requestID":"bc4bc570-d01f-11ee-ad1d-cbf3af4d0136","responseTime":22,"status":200,"url":"/devices/3a85d37a-3bff-46f1-a278-63788de6d6d5?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/75a7d13a-68e6-4e23-a3c0-820a543ef9ba? 200 20ms","method":"GET","requestID":"bc4c3aa0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":20,"status":200,"url":"/devices/75a7d13a-68e6-4e23-a3c0-820a543ef9ba?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":266,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:01Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":266,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.939507,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:01Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/3a85d37a-3bff-46f1-a278-63788de6d6d5","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3a85d37a-3bff-46f1-a278-63788de6d6d5","object_type":"device","rebac_allow":false,"scope_allow":false,"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":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bc4fbd10-d01f-11ee-ad1d-cbf3af4d0136"},"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/3a85d37a-3bff-46f1-a278-63788de6d6d5/signaling 200 8ms","method":"POST","requestID":"bc4fbd10-d01f-11ee-ad1d-cbf3af4d0136","responseTime":8,"status":200,"url":"/devices/3a85d37a-3bff-46f1-a278-63788de6d6d5/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":267,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:01Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":267,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.950287,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:01Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/75a7d13a-68e6-4e23-a3c0-820a543ef9ba","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/75a7d13a-68e6-4e23-a3c0-820a543ef9ba","object_type":"device","rebac_allow":false,"scope_allow":false,"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":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bc516ac0-d01f-11ee-ad1d-cbf3af4d0136"},"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/75a7d13a-68e6-4e23-a3c0-820a543ef9ba/signaling 200 9ms","method":"POST","requestID":"bc516ac0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":9,"status":200,"url":"/devices/75a7d13a-68e6-4e23-a3c0-820a543ef9ba/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/338cc3ae-eca6-4d90-89b3-00aa6a04b579"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/338cc3ae-eca6-4d90-89b3-00aa6a04b579"},"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":"c4fa905b-750e-49ab-b703-9b47ef6b0e8e"},{"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":"ea4250ba-0b6e-4214-9c64-5a3506e16749"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"66cc28ee-eab7-4e16-8cb0-1d2d5c03200b"}]},"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/75a7d13a-68e6-4e23-a3c0-820a543ef9ba"},{"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/3a85d37a-3bff-46f1-a278-63788de6d6d5"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":268,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:01Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":268,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.969149,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:01Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454521,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUyMX0.3J3bn1P_Plv-OKy7gX1sUhg3kbyvWKnNWksfCLFEfMY"} 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":"bc53b4b0-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F338cc3ae-eca6-4d90-89b3-00aa6a04b579#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F338cc3ae-eca6-4d90-89b3-00aa6a04b579","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"8e9bbeaa-c2f0-4e2d-a754-8503933274b6","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454521.827716} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b1d459a2-ff1a-4985-a59e-08de5c00180c","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454521.8284101} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","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%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"482654b0-5449-4750-9c7f-2a35a7ebed25","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454521.8297584} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d22e9edb-7bef-4ef7-8a79-520e8d78222e","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454521.8301048} authorization_1 | {"level":"info","message":"POST /relations/update 200 149ms","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":"d60a425d8cd26b74c6dbe5bed0e59baf"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":149}} authorization_1 | {"level":"info","message":"POST /relations/update 200 100ms","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":"bc53b4b0-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":100}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/338cc3ae-eca6-4d90-89b3-00aa6a04b579","user":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 836ms","method":"POST","requestID":"d60a425d8cd26b74c6dbe5bed0e59baf","responseTime":836,"status":201,"url":"/experiments?"} gateway_1 | {"time_local":"20/Feb/2024:18:42:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.845","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d60a425d8cd26b74c6dbe5bed0e59baf"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUyMX0.3J3bn1P_Plv-OKy7gX1sUhg3kbyvWKnNWksfCLFEfMY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"59130f94e17778c6092e2e1770b190c3","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":269,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:01Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":269,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.944397,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:01Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3a85d37a-3bff-46f1-a278-63788de6d6d5","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/3a85d37a-3bff-46f1-a278-63788de6d6d5","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454521,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUyMX0.3J3bn1P_Plv-OKy7gX1sUhg3kbyvWKnNWksfCLFEfMY"} 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":"59130f94e17778c6092e2e1770b190c3"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3a85d37a-3bff-46f1-a278-63788de6d6d5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3a85d37a-3bff-46f1-a278-63788de6d6d5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:58.309481963Z"}]},"request_id":"3009ec76-f61f-4529-9df3-9f773fb3ef6b","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454521.8620486} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"59130f94e17778c6092e2e1770b190c3"},"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/c79833c6-1494-47d7-ace7-bf1ae9a1f232'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/c79833c6-1494-47d7-ace7-bf1ae9a1f232'"} 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 249ms","method":"POST","requestID":"bc53b4b0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":249,"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":"20/Feb/2024:18:42:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3a85d37a-3bff-46f1-a278-63788de6d6d5? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.130","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"59130f94e17778c6092e2e1770b190c3"} device_1 | {"level":"info","message":"GET /devices/3a85d37a-3bff-46f1-a278-63788de6d6d5? 200 124ms","method":"GET","requestID":"59130f94e17778c6092e2e1770b190c3","responseTime":124,"status":200,"url":"/devices/3a85d37a-3bff-46f1-a278-63788de6d6d5?"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUyMX0.3J3bn1P_Plv-OKy7gX1sUhg3kbyvWKnNWksfCLFEfMY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"fbb151607115888bddff14ca11aca05e","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":270,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:01Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":270,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.962811,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:01Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/75a7d13a-68e6-4e23-a3c0-820a543ef9ba","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/75a7d13a-68e6-4e23-a3c0-820a543ef9ba","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454521,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUyMX0.3J3bn1P_Plv-OKy7gX1sUhg3kbyvWKnNWksfCLFEfMY"} 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":"fbb151607115888bddff14ca11aca05e"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75a7d13a-68e6-4e23-a3c0-820a543ef9ba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75a7d13a-68e6-4e23-a3c0-820a543ef9ba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:41:58.686049431Z"}]},"request_id":"cde11af6-a1ee-4229-a86e-df3337433a05","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454521.9928477} 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":"fbb151607115888bddff14ca11aca05e"},"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/75a7d13a-68e6-4e23-a3c0-820a543ef9ba? 200 12ms","method":"GET","requestID":"fbb151607115888bddff14ca11aca05e","responseTime":12,"status":200,"url":"/devices/75a7d13a-68e6-4e23-a3c0-820a543ef9ba?"} gateway_1 | {"time_local":"20/Feb/2024:18:42:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/75a7d13a-68e6-4e23-a3c0-820a543ef9ba? 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":"fbb151607115888bddff14ca11aca05e"} device_1 | {"data":{"peerconnection":"c79833c6-1494-47d7-ace7-bf1ae9a1f232","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/c79833c6-1494-47d7-ace7-bf1ae9a1f232' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"c79833c6-1494-47d7-ace7-bf1ae9a1f232","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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"cf5d15eb0b9e9ca231fc14720c1c6610","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/75a7d13a-68e6-4e23-a3c0-820a543ef9ba"},{"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/3a85d37a-3bff-46f1-a278-63788de6d6d5"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/c79833c6-1494-47d7-ace7-bf1ae9a1f232"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 114ms","method":"POST","requestID":"cf5d15eb0b9e9ca231fc14720c1c6610","responseTime":114,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:42:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.117","http_referrer":"","http_user_agent":"node-fetch","requestID":"cf5d15eb0b9e9ca231fc14720c1c6610"} device_1 | {"data":{"peerconnection":"c79833c6-1494-47d7-ace7-bf1ae9a1f232","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/338cc3ae-eca6-4d90-89b3-00aa6a04b579"},"level":"info","message":"Successfully created peerconnections for experiment"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUyMn0.Wls0JhvURJHrfLhNHZQfnoUWR5HXV3G2MxM5qoFcJ4E","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"00ee71afc6b757e0016204f8c9bd390a","responseTime":6,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/338cc3ae-eca6-4d90-89b3-00aa6a04b579"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":271,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:02Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":271,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.822135,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:02Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/338cc3ae-eca6-4d90-89b3-00aa6a04b579","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/338cc3ae-eca6-4d90-89b3-00aa6a04b579","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454522,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUyMn0.Wls0JhvURJHrfLhNHZQfnoUWR5HXV3G2MxM5qoFcJ4E"} 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":"00ee71afc6b757e0016204f8c9bd390a"},"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/338cc3ae-eca6-4d90-89b3-00aa6a04b579"} experiment_1 | {"level":"info","message":"GET /experiments/338cc3ae-eca6-4d90-89b3-00aa6a04b579 200 16ms","method":"GET","requestID":"00ee71afc6b757e0016204f8c9bd390a","responseTime":16,"status":200,"url":"/experiments/338cc3ae-eca6-4d90-89b3-00aa6a04b579"} gateway_1 | {"time_local":"20/Feb/2024:18:42:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/338cc3ae-eca6-4d90-89b3-00aa6a04b579 HTTP/1.1","status": "200","body_bytes_sent":"1362","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"00ee71afc6b757e0016204f8c9bd390a"} device_1 | {"data":{"peerconnection":"c79833c6-1494-47d7-ace7-bf1ae9a1f232","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/c79833c6-1494-47d7-ace7-bf1ae9a1f232' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"c79833c6-1494-47d7-ace7-bf1ae9a1f232","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUyMn0.Wls0JhvURJHrfLhNHZQfnoUWR5HXV3G2MxM5qoFcJ4E","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"9c657aae815eafc820038a06b8704cec","responseTime":6,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/338cc3ae-eca6-4d90-89b3-00aa6a04b579"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"e0de082d205c6217df52f2d32a422e6a","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":"connected","url":"http://localhost/devices/75a7d13a-68e6-4e23-a3c0-820a543ef9ba"},{"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/3a85d37a-3bff-46f1-a278-63788de6d6d5"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/c79833c6-1494-47d7-ace7-bf1ae9a1f232"}}},"level":"info","message":"received a callback"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":272,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:02Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":272,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.591738,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:02Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/338cc3ae-eca6-4d90-89b3-00aa6a04b579","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/338cc3ae-eca6-4d90-89b3-00aa6a04b579","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454522,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUyMn0.Wls0JhvURJHrfLhNHZQfnoUWR5HXV3G2MxM5qoFcJ4E"} 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":"9c657aae815eafc820038a06b8704cec"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/338cc3ae-eca6-4d90-89b3-00aa6a04b579"} gateway_1 | {"time_local":"20/Feb/2024:18:42:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/338cc3ae-eca6-4d90-89b3-00aa6a04b579 HTTP/1.1","status": "200","body_bytes_sent":"1362","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9c657aae815eafc820038a06b8704cec"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":273,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:02Z"} experiment_1 | {"level":"info","message":"GET /experiments/338cc3ae-eca6-4d90-89b3-00aa6a04b579 200 18ms","method":"GET","requestID":"9c657aae815eafc820038a06b8704cec","responseTime":18,"status":200,"url":"/experiments/338cc3ae-eca6-4d90-89b3-00aa6a04b579"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","contextual_tuples":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc79833c6-1494-47d7-ace7-bf1ae9a1f232","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cf4d9d85-de14-42d3-bea1-6a9c36b3abc9","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454522.5548534} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":273,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.718243,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:02Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c79833c6-1494-47d7-ace7-bf1ae9a1f232","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/c79833c6-1494-47d7-ace7-bf1ae9a1f232","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":"bcd1e560-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUyMn0.Wls0JhvURJHrfLhNHZQfnoUWR5HXV3G2MxM5qoFcJ4E","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ebf0d0e749c506141ac9822593ed9201","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/338cc3ae-eca6-4d90-89b3-00aa6a04b579"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":274,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:02Z"} device_1 | {"level":"info","message":"GET /peerconnections/c79833c6-1494-47d7-ace7-bf1ae9a1f232 200 115ms","method":"GET","requestID":"bcd1e560-d01f-11ee-ad1d-cbf3af4d0136","responseTime":115,"status":200,"url":"/peerconnections/c79833c6-1494-47d7-ace7-bf1ae9a1f232"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":274,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.263266,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:02Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/338cc3ae-eca6-4d90-89b3-00aa6a04b579","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/338cc3ae-eca6-4d90-89b3-00aa6a04b579","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454522,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUyMn0.Wls0JhvURJHrfLhNHZQfnoUWR5HXV3G2MxM5qoFcJ4E"} 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":"ebf0d0e749c506141ac9822593ed9201"},"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/338cc3ae-eca6-4d90-89b3-00aa6a04b579"} gateway_1 | {"time_local":"20/Feb/2024:18:42:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/338cc3ae-eca6-4d90-89b3-00aa6a04b579 HTTP/1.1","status": "200","body_bytes_sent":"1362","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ebf0d0e749c506141ac9822593ed9201"} experiment_1 | {"level":"info","message":"GET /experiments/338cc3ae-eca6-4d90-89b3-00aa6a04b579 200 19ms","method":"GET","requestID":"ebf0d0e749c506141ac9822593ed9201","responseTime":19,"status":200,"url":"/experiments/338cc3ae-eca6-4d90-89b3-00aa6a04b579"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUyMn0.Wls0JhvURJHrfLhNHZQfnoUWR5HXV3G2MxM5qoFcJ4E","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"4c46b8912177f40e1b829622553a14c3","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/338cc3ae-eca6-4d90-89b3-00aa6a04b579"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":275,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:02Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":275,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.739643,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:02Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/338cc3ae-eca6-4d90-89b3-00aa6a04b579","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/338cc3ae-eca6-4d90-89b3-00aa6a04b579","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454522,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUyMn0.Wls0JhvURJHrfLhNHZQfnoUWR5HXV3G2MxM5qoFcJ4E"} 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":"4c46b8912177f40e1b829622553a14c3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 259ms","method":"POST","requestID":"e0de082d205c6217df52f2d32a422e6a","responseTime":259,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:42:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.264","http_referrer":"","http_user_agent":"node-fetch","requestID":"e0de082d205c6217df52f2d32a422e6a"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/338cc3ae-eca6-4d90-89b3-00aa6a04b579"} experiment_1 | {"level":"info","message":"GET /experiments/338cc3ae-eca6-4d90-89b3-00aa6a04b579 200 15ms","method":"GET","requestID":"4c46b8912177f40e1b829622553a14c3","responseTime":15,"status":200,"url":"/experiments/338cc3ae-eca6-4d90-89b3-00aa6a04b579"} gateway_1 | {"time_local":"20/Feb/2024:18:42:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/338cc3ae-eca6-4d90-89b3-00aa6a04b579 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":"4c46b8912177f40e1b829622553a14c3"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUyMn0.Wls0JhvURJHrfLhNHZQfnoUWR5HXV3G2MxM5qoFcJ4E","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a935cc7f3ed070f88ea69b87568de73d","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/338cc3ae-eca6-4d90-89b3-00aa6a04b579"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":276,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:02Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":276,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.984502,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:02Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/338cc3ae-eca6-4d90-89b3-00aa6a04b579","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/338cc3ae-eca6-4d90-89b3-00aa6a04b579","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454522,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUyMn0.Wls0JhvURJHrfLhNHZQfnoUWR5HXV3G2MxM5qoFcJ4E"} 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":"a935cc7f3ed070f88ea69b87568de73d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/338cc3ae-eca6-4d90-89b3-00aa6a04b579"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":277,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:02Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":277,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.289712,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:02Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c79833c6-1494-47d7-ace7-bf1ae9a1f232","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"peerconnection:http://localhost/peerconnections/c79833c6-1494-47d7-ace7-bf1ae9a1f232","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454522,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUyMn0.Wls0JhvURJHrfLhNHZQfnoUWR5HXV3G2MxM5qoFcJ4E"} 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":"bcfbb480-d01f-11ee-ad1d-cbf3af4d0136"},"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/c79833c6-1494-47d7-ace7-bf1ae9a1f232' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/c79833c6-1494-47d7-ace7-bf1ae9a1f232' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"c79833c6-1494-47d7-ace7-bf1ae9a1f232","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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"50a65e5993b53f5241e27e0590d361f2","responseTime":1,"status":200,"url":"/auth"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc79833c6-1494-47d7-ace7-bf1ae9a1f232': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc79833c6-1494-47d7-ace7-bf1ae9a1f232","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]},"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":null},"raw_response":{},"request_id":"5c84b0f6-d045-404b-8c2c-6424627609fd","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454522.8469021} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"00e7436f-5034-4987-ac47-ce43c22ea166","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454522.8472435} 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/75a7d13a-68e6-4e23-a3c0-820a543ef9ba"},{"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/3a85d37a-3bff-46f1-a278-63788de6d6d5"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c79833c6-1494-47d7-ace7-bf1ae9a1f232"}}},"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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"87a3f56ea78150ea4c9e4bfc5547b4e9","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":"bcfbb480-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} 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/75a7d13a-68e6-4e23-a3c0-820a543ef9ba"},{"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/3a85d37a-3bff-46f1-a278-63788de6d6d5"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c79833c6-1494-47d7-ace7-bf1ae9a1f232"}}},"level":"info","message":"received a callback"} device_1 | {"data":{"peerconnection":"c79833c6-1494-47d7-ace7-bf1ae9a1f232","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/c79833c6-1494-47d7-ace7-bf1ae9a1f232 204 278ms","method":"DELETE","requestID":"bcfbb480-d01f-11ee-ad1d-cbf3af4d0136","responseTime":278,"status":204,"url":"/peerconnections/c79833c6-1494-47d7-ace7-bf1ae9a1f232"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/338cc3ae-eca6-4d90-89b3-00aa6a04b579"},"level":"info","message":"Successfully finished experiment"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F338cc3ae-eca6-4d90-89b3-00aa6a04b579': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F338cc3ae-eca6-4d90-89b3-00aa6a04b579","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]},"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":null},"raw_response":{},"request_id":"d02bbb7a-7f94-4a77-93d4-3f8740cc6d36","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454523.4139328} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"02df28a0-327a-467d-ab24-189176f3818e","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454523.4143255} authorization_1 | {"level":"info","message":"POST /relations/update 200 164ms","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":"a935cc7f3ed070f88ea69b87568de73d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":164}} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/338cc3ae-eca6-4d90-89b3-00aa6a04b579"} gateway_1 | {"time_local":"20/Feb/2024:18:42:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/338cc3ae-eca6-4d90-89b3-00aa6a04b579 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"1.427","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a935cc7f3ed070f88ea69b87568de73d"} gateway_1 | {"time_local":"20/Feb/2024:18:42:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1679","request_time":"4.703","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"cb19b242378531cbf3f1ef4499aa7dde"} experiment_1 | {"level":"info","message":"DELETE /experiments/338cc3ae-eca6-4d90-89b3-00aa6a04b579 204 1424ms","method":"DELETE","requestID":"a935cc7f3ed070f88ea69b87568de73d","responseTime":1424,"status":204,"url":"/experiments/338cc3ae-eca6-4d90-89b3-00aa6a04b579"} gateway_1 | {"time_local":"20/Feb/2024:18:42: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":"1.392","http_referrer":"","http_user_agent":"node-fetch","requestID":"50a65e5993b53f5241e27e0590d361f2"} gateway_1 | {"time_local":"20/Feb/2024:18:42: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":"1.394","http_referrer":"","http_user_agent":"node-fetch","requestID":"87a3f56ea78150ea4c9e4bfc5547b4e9"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUyNH0.AfCXvlIK5kQ8pjI-kuOCOWNMJ0sp1ouF1_nhSK58pJE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"fa0c3a6872ec7309c8521555e8025845","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1389ms","method":"POST","requestID":"50a65e5993b53f5241e27e0590d361f2","responseTime":1389,"status":200,"url":"/callbacks/experiment"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1389ms","method":"POST","requestID":"87a3f56ea78150ea4c9e4bfc5547b4e9","responseTime":1389,"status":200,"url":"/callbacks/experiment"} device_1 | {"level":"info","message":"postDevices called"} gateway_1 | {"time_local":"20/Feb/2024:18:42:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1760","request_time":"3.449","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"800f993f49847890bff1678f900941d4"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":278,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:04Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":278,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.01027,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:04Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454524,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUyNH0.AfCXvlIK5kQ8pjI-kuOCOWNMJ0sp1ouF1_nhSK58pJE"} 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":"fa0c3a6872ec7309c8521555e8025845"},"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/3a85d37a-3bff-46f1-a278-63788de6d6d5' 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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe6f8a891-0b94-4950-b4dc-7e72cea5dcf8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"6b4da994-628c-411d-bb06-01a2bee90b44","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454524.5393088} 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":"fa0c3a6872ec7309c8521555e8025845"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"558a7b0c-b46d-4410-b823-0fa7a8eb8189","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454524.546819} 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":"fa0c3a6872ec7309c8521555e8025845"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/75a7d13a-68e6-4e23-a3c0-820a543ef9ba' closed"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe6f8a891-0b94-4950-b4dc-7e72cea5dcf8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"d5380408-2cc8-4eab-9ca9-1c8d90ad0c95","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454524.9033828} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"742cdf04-1dff-449d-b22b-0d06595964ef","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454524.9037645} authorization_1 | {"level":"info","message":"POST /relations/update 200 360ms","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":"fa0c3a6872ec7309c8521555e8025845"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":360}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe6f8a891-0b94-4950-b4dc-7e72cea5dcf8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe6f8a891-0b94-4950-b4dc-7e72cea5dcf8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:04.903345894Z"}]},"request_id":"f77dd608-ca70-46f7-9fd5-dedb1c3749fd","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454524.9109254} 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":"fa0c3a6872ec7309c8521555e8025845"},"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 672ms","method":"POST","requestID":"fa0c3a6872ec7309c8521555e8025845","responseTime":672,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"20/Feb/2024:18:42:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.681","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fa0c3a6872ec7309c8521555e8025845"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUyNH0.AfCXvlIK5kQ8pjI-kuOCOWNMJ0sp1ouF1_nhSK58pJE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3e6ce504c101ee341f847523766b58e3","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":279,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:04Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":279,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.29333,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:04Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454524,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUyNH0.AfCXvlIK5kQ8pjI-kuOCOWNMJ0sp1ouF1_nhSK58pJE"} 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":"3e6ce504c101ee341f847523766b58e3"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26e4635a-3a25-40ad-adf6-31835247c07c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"7aad48e9-97b9-4bf1-b8d6-2e9319d31989","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454525.114299} 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":"3e6ce504c101ee341f847523766b58e3"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"eeba083f-a00f-4dbe-960c-b06291dd6172","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454525.1214004} 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":"3e6ce504c101ee341f847523766b58e3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26e4635a-3a25-40ad-adf6-31835247c07c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"c9ebb041-2d85-4348-80c6-040dd5afbec4","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454525.2551806} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d5384434-08e7-48c4-b06f-b1042fb2e0df","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454525.2554474} authorization_1 | {"level":"info","message":"POST /relations/update 200 137ms","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":"3e6ce504c101ee341f847523766b58e3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":137}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26e4635a-3a25-40ad-adf6-31835247c07c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26e4635a-3a25-40ad-adf6-31835247c07c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:05.255159016Z"}]},"request_id":"c15fb25b-46a1-4c73-8963-12a8636fdfb1","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454525.2624288} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3e6ce504c101ee341f847523766b58e3"},"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 343ms","method":"POST","requestID":"3e6ce504c101ee341f847523766b58e3","responseTime":343,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"20/Feb/2024:18:42: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.374","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3e6ce504c101ee341f847523766b58e3"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUyNX0.csC1JupKr6t6vm2yQaxBuh_5IvXtV5w2bmlN753A9as","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"44bcfeaa9a78e5160cb1520574ff512b","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":280,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:05Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":280,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.919716,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:05Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e6f8a891-0b94-4950-b4dc-7e72cea5dcf8","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/e6f8a891-0b94-4950-b4dc-7e72cea5dcf8","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454525,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUyNX0.csC1JupKr6t6vm2yQaxBuh_5IvXtV5w2bmlN753A9as"} 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":"44bcfeaa9a78e5160cb1520574ff512b"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe6f8a891-0b94-4950-b4dc-7e72cea5dcf8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe6f8a891-0b94-4950-b4dc-7e72cea5dcf8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:04.903345894Z"}]},"request_id":"5f9ad12b-bfae-4936-9e99-b8c379bb6279","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454525.7622757} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"44bcfeaa9a78e5160cb1520574ff512b"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"43bd7a24-a5ad-4987-948a-63241cf631d4","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454525.768317} 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":"44bcfeaa9a78e5160cb1520574ff512b"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe6f8a891-0b94-4950-b4dc-7e72cea5dcf8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe6f8a891-0b94-4950-b4dc-7e72cea5dcf8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:04.903345894Z"}]},"request_id":"431aba28-df21-4f42-8be8-1ec0e6400205","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454525.9323974} 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":"44bcfeaa9a78e5160cb1520574ff512b"},"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/e6f8a891-0b94-4950-b4dc-7e72cea5dcf8 200 186ms","method":"PATCH","requestID":"44bcfeaa9a78e5160cb1520574ff512b","responseTime":186,"status":200,"url":"/devices/e6f8a891-0b94-4950-b4dc-7e72cea5dcf8"} gateway_1 | {"time_local":"20/Feb/2024:18:42:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/e6f8a891-0b94-4950-b4dc-7e72cea5dcf8 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.191","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"44bcfeaa9a78e5160cb1520574ff512b"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUyNX0.csC1JupKr6t6vm2yQaxBuh_5IvXtV5w2bmlN753A9as","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e817e03240e496223241346820162a8f","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":281,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:05Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":281,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.357278,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:05Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e6f8a891-0b94-4950-b4dc-7e72cea5dcf8","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/e6f8a891-0b94-4950-b4dc-7e72cea5dcf8","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454525,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUyNX0.csC1JupKr6t6vm2yQaxBuh_5IvXtV5w2bmlN753A9as"} 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":"e817e03240e496223241346820162a8f"},"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":"20/Feb/2024:18:42:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/e6f8a891-0b94-4950-b4dc-7e72cea5dcf8/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.158","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"e817e03240e496223241346820162a8f"} device_1 | {"level":"info","message":"POST /devices/e6f8a891-0b94-4950-b4dc-7e72cea5dcf8/websocket 200 153ms","method":"POST","requestID":"e817e03240e496223241346820162a8f","responseTime":153,"status":200,"url":"/devices/e6f8a891-0b94-4950-b4dc-7e72cea5dcf8/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/e6f8a891-0b94-4950-b4dc-7e72cea5dcf8' 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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"eb98f67d076b59fb9d90665f5a79ced2","responseTime":1,"status":200,"url":"/auth"} gateway_1 | {"time_local":"20/Feb/2024:18:42:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/26e4635a-3a25-40ad-adf6-31835247c07c/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":"eb98f67d076b59fb9d90665f5a79ced2"} device_1 | {"level":"info","message":"OPTIONS /devices/26e4635a-3a25-40ad-adf6-31835247c07c/websocket 200 1ms","method":"OPTIONS","requestID":"eb98f67d076b59fb9d90665f5a79ced2","responseTime":1,"status":200,"url":"/devices/26e4635a-3a25-40ad-adf6-31835247c07c/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUyN30.sgadWa_kBIpEpLSmk6U8qMoWHjNotdyx2O8yKLEQzbw","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"53927be9c5da15c8f8b8998b8123a263","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":282,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:07Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":282,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.044066,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:07Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/26e4635a-3a25-40ad-adf6-31835247c07c","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/26e4635a-3a25-40ad-adf6-31835247c07c","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454527,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUyN30.sgadWa_kBIpEpLSmk6U8qMoWHjNotdyx2O8yKLEQzbw"} 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":"53927be9c5da15c8f8b8998b8123a263"},"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":"20/Feb/2024:18:42:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/26e4635a-3a25-40ad-adf6-31835247c07c/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.163","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"53927be9c5da15c8f8b8998b8123a263"} device_1 | {"level":"info","message":"POST /devices/26e4635a-3a25-40ad-adf6-31835247c07c/websocket 200 156ms","method":"POST","requestID":"53927be9c5da15c8f8b8998b8123a263","responseTime":156,"status":200,"url":"/devices/26e4635a-3a25-40ad-adf6-31835247c07c/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/26e4635a-3a25-40ad-adf6-31835247c07c' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUyN30.sgadWa_kBIpEpLSmk6U8qMoWHjNotdyx2O8yKLEQzbw","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"bff7c77083d79cf7718ae9c079bed4dd","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":283,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:07Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":283,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.76741,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:07Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e6f8a891-0b94-4950-b4dc-7e72cea5dcf8","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/e6f8a891-0b94-4950-b4dc-7e72cea5dcf8","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454527,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUyN30.sgadWa_kBIpEpLSmk6U8qMoWHjNotdyx2O8yKLEQzbw"} 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":"bff7c77083d79cf7718ae9c079bed4dd"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe6f8a891-0b94-4950-b4dc-7e72cea5dcf8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe6f8a891-0b94-4950-b4dc-7e72cea5dcf8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:04.903345894Z"}]},"request_id":"c4c486e1-92b0-4d52-af58-840c9a4da68a","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454527.5525131} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bff7c77083d79cf7718ae9c079bed4dd"},"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":"20/Feb/2024:18:42:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e6f8a891-0b94-4950-b4dc-7e72cea5dcf8? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bff7c77083d79cf7718ae9c079bed4dd"} device_1 | {"level":"info","message":"GET /devices/e6f8a891-0b94-4950-b4dc-7e72cea5dcf8? 200 17ms","method":"GET","requestID":"bff7c77083d79cf7718ae9c079bed4dd","responseTime":17,"status":200,"url":"/devices/e6f8a891-0b94-4950-b4dc-7e72cea5dcf8?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUyN30.sgadWa_kBIpEpLSmk6U8qMoWHjNotdyx2O8yKLEQzbw","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"c45b60b4c96d4f4cf2e0aeb08610275a","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":284,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:07Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":284,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.22904,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:07Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/26e4635a-3a25-40ad-adf6-31835247c07c","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/26e4635a-3a25-40ad-adf6-31835247c07c","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454527,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUyN30.sgadWa_kBIpEpLSmk6U8qMoWHjNotdyx2O8yKLEQzbw"} 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":"c45b60b4c96d4f4cf2e0aeb08610275a"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26e4635a-3a25-40ad-adf6-31835247c07c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26e4635a-3a25-40ad-adf6-31835247c07c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:05.255159016Z"}]},"request_id":"2a5768c4-bde6-48c0-abc5-3b5896a88898","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454527.5793836} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c45b60b4c96d4f4cf2e0aeb08610275a"},"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":"20/Feb/2024:18:42:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/26e4635a-3a25-40ad-adf6-31835247c07c? 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":"c45b60b4c96d4f4cf2e0aeb08610275a"} device_1 | {"level":"info","message":"GET /devices/26e4635a-3a25-40ad-adf6-31835247c07c? 200 16ms","method":"GET","requestID":"c45b60b4c96d4f4cf2e0aeb08610275a","responseTime":16,"status":200,"url":"/devices/26e4635a-3a25-40ad-adf6-31835247c07c?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUyN30.sgadWa_kBIpEpLSmk6U8qMoWHjNotdyx2O8yKLEQzbw","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8dd54c6c64559c88294e3a088c0939cd","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:48424","level":"info","msg":"Received request.","req_id":285,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:07Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":285,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.02265,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:07Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454527,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUyN30.sgadWa_kBIpEpLSmk6U8qMoWHjNotdyx2O8yKLEQzbw"} 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":"8dd54c6c64559c88294e3a088c0939cd"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3d24773c-6fc1-482d-85aa-eb897a92c3d9"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3d24773c-6fc1-482d-85aa-eb897a92c3d9"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3d24773c-6fc1-482d-85aa-eb897a92c3d9"},"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:48424","level":"info","msg":"Received request.","req_id":286,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:07Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":286,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.88588,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:07Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e6f8a891-0b94-4950-b4dc-7e72cea5dcf8","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/e6f8a891-0b94-4950-b4dc-7e72cea5dcf8","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454527,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUyN30.sgadWa_kBIpEpLSmk6U8qMoWHjNotdyx2O8yKLEQzbw"} 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":"bff6f320-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"client_addr":"127.0.0.1:33596","level":"info","msg":"Received request.","req_id":287,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:07Z"} authorization_1 | {"client_addr":"127.0.0.1:33596","level":"info","msg":"Sent response.","req_id":287,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.458064,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:07Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/26e4635a-3a25-40ad-adf6-31835247c07c","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/26e4635a-3a25-40ad-adf6-31835247c07c","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454527,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUyN30.sgadWa_kBIpEpLSmk6U8qMoWHjNotdyx2O8yKLEQzbw"} 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":"bff74140-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe6f8a891-0b94-4950-b4dc-7e72cea5dcf8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe6f8a891-0b94-4950-b4dc-7e72cea5dcf8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:04.903345894Z"}]},"request_id":"1961c4a9-bdf1-4a34-9d7c-5053bd6f613f","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454527.8391893} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bff6f320-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26e4635a-3a25-40ad-adf6-31835247c07c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26e4635a-3a25-40ad-adf6-31835247c07c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:05.255159016Z"}]},"request_id":"32558569-63ae-4d00-8e07-de8983a6a355","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454527.8401687} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bff74140-d01f-11ee-ad1d-cbf3af4d0136"},"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/e6f8a891-0b94-4950-b4dc-7e72cea5dcf8? 200 19ms","method":"GET","requestID":"bff6f320-d01f-11ee-ad1d-cbf3af4d0136","responseTime":19,"status":200,"url":"/devices/e6f8a891-0b94-4950-b4dc-7e72cea5dcf8?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/26e4635a-3a25-40ad-adf6-31835247c07c? 200 18ms","method":"GET","requestID":"bff74140-d01f-11ee-ad1d-cbf3af4d0136","responseTime":18,"status":200,"url":"/devices/26e4635a-3a25-40ad-adf6-31835247c07c?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3d24773c-6fc1-482d-85aa-eb897a92c3d9"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3d24773c-6fc1-482d-85aa-eb897a92c3d9"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3d24773c-6fc1-482d-85aa-eb897a92c3d9"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3d24773c-6fc1-482d-85aa-eb897a92c3d9"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3d24773c-6fc1-482d-85aa-eb897a92c3d9"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3d24773c-6fc1-482d-85aa-eb897a92c3d9"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3d24773c-6fc1-482d-85aa-eb897a92c3d9"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3d24773c-6fc1-482d-85aa-eb897a92c3d9"},"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:48424","level":"info","msg":"Received request.","req_id":288,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:08Z"} authorization_1 | {"client_addr":"127.0.0.1:33596","level":"info","msg":"Received request.","req_id":289,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:08Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":288,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.391232,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:08Z"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3d24773c-6fc1-482d-85aa-eb897a92c3d9"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e6f8a891-0b94-4950-b4dc-7e72cea5dcf8","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/e6f8a891-0b94-4950-b4dc-7e72cea5dcf8","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454527,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUyN30.sgadWa_kBIpEpLSmk6U8qMoWHjNotdyx2O8yKLEQzbw"} 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":"c035a9d0-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:33596","level":"info","msg":"Sent response.","req_id":289,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.188499,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:08Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/26e4635a-3a25-40ad-adf6-31835247c07c","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/26e4635a-3a25-40ad-adf6-31835247c07c","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454527,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUyN30.sgadWa_kBIpEpLSmk6U8qMoWHjNotdyx2O8yKLEQzbw"} 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":"c035f7f0-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe6f8a891-0b94-4950-b4dc-7e72cea5dcf8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe6f8a891-0b94-4950-b4dc-7e72cea5dcf8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:04.903345894Z"}]},"request_id":"b6692d12-4132-4169-a3bf-f87bdc470b50","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454528.2491026} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c035a9d0-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26e4635a-3a25-40ad-adf6-31835247c07c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26e4635a-3a25-40ad-adf6-31835247c07c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:05.255159016Z"}]},"request_id":"2f042a43-3d2d-421f-9539-21157a692f58","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454528.2497492} 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":"c035f7f0-d01f-11ee-ad1d-cbf3af4d0136"},"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/e6f8a891-0b94-4950-b4dc-7e72cea5dcf8? 200 18ms","method":"GET","requestID":"c035a9d0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":18,"status":200,"url":"/devices/e6f8a891-0b94-4950-b4dc-7e72cea5dcf8?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/26e4635a-3a25-40ad-adf6-31835247c07c? 200 17ms","method":"GET","requestID":"c035f7f0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":17,"status":200,"url":"/devices/26e4635a-3a25-40ad-adf6-31835247c07c?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":290,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:08Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":290,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.862293,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:08Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/e6f8a891-0b94-4950-b4dc-7e72cea5dcf8","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e6f8a891-0b94-4950-b4dc-7e72cea5dcf8","object_type":"device","rebac_allow":false,"scope_allow":false,"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":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c038de20-d01f-11ee-ad1d-cbf3af4d0136"},"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/e6f8a891-0b94-4950-b4dc-7e72cea5dcf8/signaling 200 9ms","method":"POST","requestID":"c038de20-d01f-11ee-ad1d-cbf3af4d0136","responseTime":9,"status":200,"url":"/devices/e6f8a891-0b94-4950-b4dc-7e72cea5dcf8/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":291,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:08Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":291,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.888301,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:08Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/26e4635a-3a25-40ad-adf6-31835247c07c","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/26e4635a-3a25-40ad-adf6-31835247c07c","object_type":"device","rebac_allow":false,"scope_allow":false,"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":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c03a8bd0-d01f-11ee-ad1d-cbf3af4d0136"},"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/26e4635a-3a25-40ad-adf6-31835247c07c/signaling 200 10ms","method":"POST","requestID":"c03a8bd0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":10,"status":200,"url":"/devices/26e4635a-3a25-40ad-adf6-31835247c07c/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3d24773c-6fc1-482d-85aa-eb897a92c3d9"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3d24773c-6fc1-482d-85aa-eb897a92c3d9"},"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":"5e93c413-02e6-420c-befe-b80ae65b0ad0"},{"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":"19972141-c867-40aa-a15b-f8d24f4f54b3"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"0d3da962-7578-4f9a-8eb4-d2940c4e84bf"}]},"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/26e4635a-3a25-40ad-adf6-31835247c07c"},{"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/e6f8a891-0b94-4950-b4dc-7e72cea5dcf8"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":292,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:08Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":292,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.082792,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:08Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454527,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUyN30.sgadWa_kBIpEpLSmk6U8qMoWHjNotdyx2O8yKLEQzbw"} 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":"c03c87a0-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3d24773c-6fc1-482d-85aa-eb897a92c3d9#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3d24773c-6fc1-482d-85aa-eb897a92c3d9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"c3618036-0f0e-40ca-aa8b-82b3abc27eed","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454528.3810415} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"893135c5-bf03-4151-911a-dd43e7047655","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454528.3814344} authorization_1 | {"level":"info","message":"POST /relations/update 200 139ms","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":"8dd54c6c64559c88294e3a088c0939cd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":139}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","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%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"c3984b6e-c454-4c95-bdf9-77979962f6a5","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454528.383315} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cdefee29-2f2a-4cbf-92c0-6e7b1e1d2a62","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454528.3836408} authorization_1 | {"level":"info","message":"POST /relations/update 200 93ms","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":"c03c87a0-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":93}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/3d24773c-6fc1-482d-85aa-eb897a92c3d9","user":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 802ms","method":"POST","requestID":"8dd54c6c64559c88294e3a088c0939cd","responseTime":802,"status":201,"url":"/experiments?"} gateway_1 | {"time_local":"20/Feb/2024:18:42:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.810","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8dd54c6c64559c88294e3a088c0939cd"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUyOH0.HRga1VXcD7gIyZ4f-bXxoOj3Ct2i0ZSMu6dksnhih28","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f405537d585a4045bf3fa8a6d8dcdc83","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":293,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:08Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":293,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.655973,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:08Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e6f8a891-0b94-4950-b4dc-7e72cea5dcf8","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/e6f8a891-0b94-4950-b4dc-7e72cea5dcf8","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454528,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUyOH0.HRga1VXcD7gIyZ4f-bXxoOj3Ct2i0ZSMu6dksnhih28"} 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":"f405537d585a4045bf3fa8a6d8dcdc83"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe6f8a891-0b94-4950-b4dc-7e72cea5dcf8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe6f8a891-0b94-4950-b4dc-7e72cea5dcf8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:04.903345894Z"}]},"request_id":"959b8fb3-5487-4bc5-a6c2-a831b791eec0","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454528.4108996} 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":"f405537d585a4045bf3fa8a6d8dcdc83"},"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/f51bf6c1-63df-4e08-952d-7ff6a8f6bffd'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/f51bf6c1-63df-4e08-952d-7ff6a8f6bffd'"} 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 243ms","method":"POST","requestID":"c03c87a0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":243,"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":"20/Feb/2024:18:42:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e6f8a891-0b94-4950-b4dc-7e72cea5dcf8? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.128","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f405537d585a4045bf3fa8a6d8dcdc83"} device_1 | {"level":"info","message":"GET /devices/e6f8a891-0b94-4950-b4dc-7e72cea5dcf8? 200 123ms","method":"GET","requestID":"f405537d585a4045bf3fa8a6d8dcdc83","responseTime":123,"status":200,"url":"/devices/e6f8a891-0b94-4950-b4dc-7e72cea5dcf8?"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUyOH0.HRga1VXcD7gIyZ4f-bXxoOj3Ct2i0ZSMu6dksnhih28","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"fa35dfe14e108c529103dc2477636ace","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":294,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:08Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":294,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.969122,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:08Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/26e4635a-3a25-40ad-adf6-31835247c07c","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/26e4635a-3a25-40ad-adf6-31835247c07c","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454528,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUyOH0.HRga1VXcD7gIyZ4f-bXxoOj3Ct2i0ZSMu6dksnhih28"} authorization_1 | {"level":"info","message":"POST /authorize 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fa35dfe14e108c529103dc2477636ace"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":13}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26e4635a-3a25-40ad-adf6-31835247c07c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F26e4635a-3a25-40ad-adf6-31835247c07c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:05.255159016Z"}]},"request_id":"7e743120-beb3-4891-9c4b-ceca41d5c3c9","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454528.554689} 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":"fa35dfe14e108c529103dc2477636ace"},"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":"20/Feb/2024:18:42:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/26e4635a-3a25-40ad-adf6-31835247c07c? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.033","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fa35dfe14e108c529103dc2477636ace"} device_1 | {"level":"info","message":"GET /devices/26e4635a-3a25-40ad-adf6-31835247c07c? 200 27ms","method":"GET","requestID":"fa35dfe14e108c529103dc2477636ace","responseTime":27,"status":200,"url":"/devices/26e4635a-3a25-40ad-adf6-31835247c07c?"} device_1 | {"data":{"peerconnection":"f51bf6c1-63df-4e08-952d-7ff6a8f6bffd","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/f51bf6c1-63df-4e08-952d-7ff6a8f6bffd' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"f51bf6c1-63df-4e08-952d-7ff6a8f6bffd","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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"26e6ef384e83e0f2e78f90ee6c47b560","responseTime":2,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/26e4635a-3a25-40ad-adf6-31835247c07c"},{"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/e6f8a891-0b94-4950-b4dc-7e72cea5dcf8"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/f51bf6c1-63df-4e08-952d-7ff6a8f6bffd"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 98ms","method":"POST","requestID":"26e6ef384e83e0f2e78f90ee6c47b560","responseTime":98,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:42:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.103","http_referrer":"","http_user_agent":"node-fetch","requestID":"26e6ef384e83e0f2e78f90ee6c47b560"} device_1 | {"data":{"peerconnection":"f51bf6c1-63df-4e08-952d-7ff6a8f6bffd","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3d24773c-6fc1-482d-85aa-eb897a92c3d9"},"level":"info","message":"Successfully created peerconnections for experiment"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUyOH0.HRga1VXcD7gIyZ4f-bXxoOj3Ct2i0ZSMu6dksnhih28","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"779f8bebf83dcda06295d5edf02a34bb","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/3d24773c-6fc1-482d-85aa-eb897a92c3d9"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":295,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:08Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":295,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.15464,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:08Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3d24773c-6fc1-482d-85aa-eb897a92c3d9","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/3d24773c-6fc1-482d-85aa-eb897a92c3d9","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454528,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUyOH0.HRga1VXcD7gIyZ4f-bXxoOj3Ct2i0ZSMu6dksnhih28"} 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":"779f8bebf83dcda06295d5edf02a34bb"},"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/3d24773c-6fc1-482d-85aa-eb897a92c3d9"} gateway_1 | {"time_local":"20/Feb/2024:18:42:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/3d24773c-6fc1-482d-85aa-eb897a92c3d9 HTTP/1.1","status": "200","body_bytes_sent":"1362","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"779f8bebf83dcda06295d5edf02a34bb"} experiment_1 | {"level":"info","message":"GET /experiments/3d24773c-6fc1-482d-85aa-eb897a92c3d9 200 17ms","method":"GET","requestID":"779f8bebf83dcda06295d5edf02a34bb","responseTime":17,"status":200,"url":"/experiments/3d24773c-6fc1-482d-85aa-eb897a92c3d9"} device_1 | {"data":{"peerconnection":"f51bf6c1-63df-4e08-952d-7ff6a8f6bffd","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUyOX0.gOEoEUmWZdEqH27Vt-tmFp0x0H2ZgV9p5_onExLMMro","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"99761ee95c6cddbdaacb210c7e08b52d","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/3d24773c-6fc1-482d-85aa-eb897a92c3d9"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":296,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:09Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":296,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.349016,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:09Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3d24773c-6fc1-482d-85aa-eb897a92c3d9","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/3d24773c-6fc1-482d-85aa-eb897a92c3d9","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454529,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUyOX0.gOEoEUmWZdEqH27Vt-tmFp0x0H2ZgV9p5_onExLMMro"} 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":"99761ee95c6cddbdaacb210c7e08b52d"},"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/3d24773c-6fc1-482d-85aa-eb897a92c3d9"} gateway_1 | {"time_local":"20/Feb/2024:18:42:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/3d24773c-6fc1-482d-85aa-eb897a92c3d9 HTTP/1.1","status": "200","body_bytes_sent":"1362","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"99761ee95c6cddbdaacb210c7e08b52d"} experiment_1 | {"level":"info","message":"GET /experiments/3d24773c-6fc1-482d-85aa-eb897a92c3d9 200 18ms","method":"GET","requestID":"99761ee95c6cddbdaacb210c7e08b52d","responseTime":18,"status":200,"url":"/experiments/3d24773c-6fc1-482d-85aa-eb897a92c3d9"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/f51bf6c1-63df-4e08-952d-7ff6a8f6bffd' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"f51bf6c1-63df-4e08-952d-7ff6a8f6bffd","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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"1550cc594aa86f4abcac0b9e552161cb","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/26e4635a-3a25-40ad-adf6-31835247c07c"},{"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/e6f8a891-0b94-4950-b4dc-7e72cea5dcf8"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/f51bf6c1-63df-4e08-952d-7ff6a8f6bffd"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":297,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:09Z"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","contextual_tuples":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff51bf6c1-63df-4e08-952d-7ff6a8f6bffd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6b21cca9-dec2-460b-8a0f-9826044478bc","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454529.138016} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":297,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.736562,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:09Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f51bf6c1-63df-4e08-952d-7ff6a8f6bffd","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/f51bf6c1-63df-4e08-952d-7ff6a8f6bffd","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":"c0be61d0-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUyOX0.gOEoEUmWZdEqH27Vt-tmFp0x0H2ZgV9p5_onExLMMro","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6efb2547f5651ba2fd53fbf92e5f99d9","responseTime":3,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/3d24773c-6fc1-482d-85aa-eb897a92c3d9"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":298,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:09Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":298,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.868766,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:09Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3d24773c-6fc1-482d-85aa-eb897a92c3d9","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/3d24773c-6fc1-482d-85aa-eb897a92c3d9","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454529,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUyOX0.gOEoEUmWZdEqH27Vt-tmFp0x0H2ZgV9p5_onExLMMro"} 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":"6efb2547f5651ba2fd53fbf92e5f99d9"},"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/3d24773c-6fc1-482d-85aa-eb897a92c3d9"} gateway_1 | {"time_local":"20/Feb/2024:18:42:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/3d24773c-6fc1-482d-85aa-eb897a92c3d9 HTTP/1.1","status": "200","body_bytes_sent":"1362","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6efb2547f5651ba2fd53fbf92e5f99d9"} experiment_1 | {"level":"info","message":"GET /experiments/3d24773c-6fc1-482d-85aa-eb897a92c3d9 200 14ms","method":"GET","requestID":"6efb2547f5651ba2fd53fbf92e5f99d9","responseTime":14,"status":200,"url":"/experiments/3d24773c-6fc1-482d-85aa-eb897a92c3d9"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"GET /peerconnections/f51bf6c1-63df-4e08-952d-7ff6a8f6bffd 200 143ms","method":"GET","requestID":"c0be61d0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":143,"status":200,"url":"/peerconnections/f51bf6c1-63df-4e08-952d-7ff6a8f6bffd"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUyOX0.gOEoEUmWZdEqH27Vt-tmFp0x0H2ZgV9p5_onExLMMro","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"24d13f416aef304cf0593a05b7d61ae3","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/3d24773c-6fc1-482d-85aa-eb897a92c3d9"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":299,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:09Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":299,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.976846,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:09Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3d24773c-6fc1-482d-85aa-eb897a92c3d9","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/3d24773c-6fc1-482d-85aa-eb897a92c3d9","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454529,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUyOX0.gOEoEUmWZdEqH27Vt-tmFp0x0H2ZgV9p5_onExLMMro"} 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":"24d13f416aef304cf0593a05b7d61ae3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 290ms","method":"POST","requestID":"1550cc594aa86f4abcac0b9e552161cb","responseTime":290,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:42: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.292","http_referrer":"","http_user_agent":"node-fetch","requestID":"1550cc594aa86f4abcac0b9e552161cb"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/3d24773c-6fc1-482d-85aa-eb897a92c3d9"} gateway_1 | {"time_local":"20/Feb/2024:18:42:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/3d24773c-6fc1-482d-85aa-eb897a92c3d9 HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.095","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"24d13f416aef304cf0593a05b7d61ae3"} experiment_1 | {"level":"info","message":"GET /experiments/3d24773c-6fc1-482d-85aa-eb897a92c3d9 200 89ms","method":"GET","requestID":"24d13f416aef304cf0593a05b7d61ae3","responseTime":89,"status":200,"url":"/experiments/3d24773c-6fc1-482d-85aa-eb897a92c3d9"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUyOX0.gOEoEUmWZdEqH27Vt-tmFp0x0H2ZgV9p5_onExLMMro","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"545ad490dc07fb069f55835a1cce0185","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/3d24773c-6fc1-482d-85aa-eb897a92c3d9"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":300,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:09Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":300,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.341364,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:09Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3d24773c-6fc1-482d-85aa-eb897a92c3d9","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/3d24773c-6fc1-482d-85aa-eb897a92c3d9","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454529,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUyOX0.gOEoEUmWZdEqH27Vt-tmFp0x0H2ZgV9p5_onExLMMro"} 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":"545ad490dc07fb069f55835a1cce0185"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3d24773c-6fc1-482d-85aa-eb897a92c3d9"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":301,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:09Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":301,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.314268,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:09Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f51bf6c1-63df-4e08-952d-7ff6a8f6bffd","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"peerconnection:http://localhost/peerconnections/f51bf6c1-63df-4e08-952d-7ff6a8f6bffd","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454529,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUyOX0.gOEoEUmWZdEqH27Vt-tmFp0x0H2ZgV9p5_onExLMMro"} 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":"c0ee9990-d01f-11ee-ad1d-cbf3af4d0136"},"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/f51bf6c1-63df-4e08-952d-7ff6a8f6bffd' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/f51bf6c1-63df-4e08-952d-7ff6a8f6bffd' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"f51bf6c1-63df-4e08-952d-7ff6a8f6bffd","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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff51bf6c1-63df-4e08-952d-7ff6a8f6bffd': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff51bf6c1-63df-4e08-952d-7ff6a8f6bffd","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]},"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":null},"raw_response":{},"request_id":"dd32f304-9231-4c5f-9821-cf8d361a9431","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454529.4689324} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1eb504a6-91fd-49b4-a8c8-5b050151cf93","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454529.4692357} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"351896cb8ed18ab61f8c0697073572f6","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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"1dab9667131b05412b56ce7152acbc9b","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/26e4635a-3a25-40ad-adf6-31835247c07c"},{"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/e6f8a891-0b94-4950-b4dc-7e72cea5dcf8"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f51bf6c1-63df-4e08-952d-7ff6a8f6bffd"}}},"level":"info","message":"received a callback"} 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":"c0ee9990-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} 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/26e4635a-3a25-40ad-adf6-31835247c07c"},{"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/e6f8a891-0b94-4950-b4dc-7e72cea5dcf8"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f51bf6c1-63df-4e08-952d-7ff6a8f6bffd"}}},"level":"info","message":"received a callback"} device_1 | {"data":{"peerconnection":"f51bf6c1-63df-4e08-952d-7ff6a8f6bffd","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/f51bf6c1-63df-4e08-952d-7ff6a8f6bffd 204 322ms","method":"DELETE","requestID":"c0ee9990-d01f-11ee-ad1d-cbf3af4d0136","responseTime":322,"status":204,"url":"/peerconnections/f51bf6c1-63df-4e08-952d-7ff6a8f6bffd"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3d24773c-6fc1-482d-85aa-eb897a92c3d9"},"level":"info","message":"Successfully finished experiment"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3d24773c-6fc1-482d-85aa-eb897a92c3d9': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3d24773c-6fc1-482d-85aa-eb897a92c3d9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]},"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":null},"raw_response":{},"request_id":"c7ac20d0-7b02-44e0-bf87-42384da21ada","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454530.0828505} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"70ef995e-0745-4f14-acb8-6240e4a0c7ea","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454530.0833898} authorization_1 | {"level":"info","message":"POST /relations/update 200 155ms","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":"545ad490dc07fb069f55835a1cce0185"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":155}} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/3d24773c-6fc1-482d-85aa-eb897a92c3d9"} gateway_1 | {"time_local":"20/Feb/2024:18:42:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/3d24773c-6fc1-482d-85aa-eb897a92c3d9 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"1.423","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"545ad490dc07fb069f55835a1cce0185"} gateway_1 | {"time_local":"20/Feb/2024:18:42:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1679","request_time":"4.753","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"3ba8c6b1e806bba23a77a60216c51c54"} experiment_1 | {"level":"info","message":"DELETE /experiments/3d24773c-6fc1-482d-85aa-eb897a92c3d9 204 1420ms","method":"DELETE","requestID":"545ad490dc07fb069f55835a1cce0185","responseTime":1420,"status":204,"url":"/experiments/3d24773c-6fc1-482d-85aa-eb897a92c3d9"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1387ms","method":"POST","requestID":"351896cb8ed18ab61f8c0697073572f6","responseTime":1387,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:42:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"1.391","http_referrer":"","http_user_agent":"node-fetch","requestID":"351896cb8ed18ab61f8c0697073572f6"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1387ms","method":"POST","requestID":"1dab9667131b05412b56ce7152acbc9b","responseTime":1387,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:42:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"1.392","http_referrer":"","http_user_agent":"node-fetch","requestID":"1dab9667131b05412b56ce7152acbc9b"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUzMH0.mGBTSkaa7a0_Yn3BCSVYcplh9do0MgQNek40e5hKVMA","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"e08c615ba55e056d3cbf3f479590fbfd","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} gateway_1 | {"time_local":"20/Feb/2024:18:42:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1760","request_time":"3.493","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"b67244f5f008b5761dccb1ed62d07669"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":302,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:10Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":302,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.864889,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:10Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454530,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUzMH0.mGBTSkaa7a0_Yn3BCSVYcplh9do0MgQNek40e5hKVMA"} 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":"e08c615ba55e056d3cbf3f479590fbfd"},"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/e6f8a891-0b94-4950-b4dc-7e72cea5dcf8' 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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa460d671-8c97-4ea1-a51c-d3c65475048a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"4bdc7cb5-0479-4ce2-9686-cc3b5466baaf","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454531.1496563} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e08c615ba55e056d3cbf3f479590fbfd"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"193e5de8-5e78-4fc3-a955-aec28967d017","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454531.1570807} 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":"e08c615ba55e056d3cbf3f479590fbfd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/26e4635a-3a25-40ad-adf6-31835247c07c' closed"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa460d671-8c97-4ea1-a51c-d3c65475048a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"edf8e931-cdcc-436c-8274-ebe317ff08e2","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454531.3642178} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1d6931df-1edf-4781-b918-efb03ef3ba31","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454531.3656595} authorization_1 | {"level":"info","message":"POST /relations/update 200 211ms","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":"e08c615ba55e056d3cbf3f479590fbfd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":211}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa460d671-8c97-4ea1-a51c-d3c65475048a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa460d671-8c97-4ea1-a51c-d3c65475048a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:11.364165551Z"}]},"request_id":"0c0a25e7-fb39-468e-a0aa-0009987738c6","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454531.3726535} 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":"e08c615ba55e056d3cbf3f479590fbfd"},"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 513ms","method":"POST","requestID":"e08c615ba55e056d3cbf3f479590fbfd","responseTime":513,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"20/Feb/2024:18:42:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.522","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e08c615ba55e056d3cbf3f479590fbfd"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUzMX0.xmJYzdHml7Jlf1Cd445vcpjMFTdLO8aZ4Lso0YFdO_M","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ca52cc6c9ff41c3a3c462b6e44fc129a","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":303,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:11Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":303,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.518722,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:11Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454531,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUzMX0.xmJYzdHml7Jlf1Cd445vcpjMFTdLO8aZ4Lso0YFdO_M"} 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":"ca52cc6c9ff41c3a3c462b6e44fc129a"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F251beb4e-4321-4cd3-b401-0255ab99b824","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"1e8d7cbb-ebe6-4fba-a4c6-62c64eaf1cf4","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454531.5504642} 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":"ca52cc6c9ff41c3a3c462b6e44fc129a"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"adff7486-0225-4de2-9690-d831b2a8d372","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454531.558626} 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":"ca52cc6c9ff41c3a3c462b6e44fc129a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F251beb4e-4321-4cd3-b401-0255ab99b824","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"c6660894-c420-44b6-861a-9ad814576590","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454531.6996942} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"908cb426-1c00-42fa-b26d-8e35516268c6","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454531.700271} authorization_1 | {"level":"info","message":"POST /relations/update 200 152ms","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":"ca52cc6c9ff41c3a3c462b6e44fc129a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":152}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F251beb4e-4321-4cd3-b401-0255ab99b824","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F251beb4e-4321-4cd3-b401-0255ab99b824","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:11.699654047Z"}]},"request_id":"41850317-a0c7-486b-a255-1889de45acfa","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454531.7139838} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ca52cc6c9ff41c3a3c462b6e44fc129a"},"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 333ms","method":"POST","requestID":"ca52cc6c9ff41c3a3c462b6e44fc129a","responseTime":333,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"20/Feb/2024:18:42:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.364","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ca52cc6c9ff41c3a3c462b6e44fc129a"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUzMn0.twnl1nYt_4azrqkJbL852ARpAFjy606ogACAPIqV4aI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4c609c8a2f45c15a93767e9a082c91e6","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":304,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:12Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":304,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.803822,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:12Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a460d671-8c97-4ea1-a51c-d3c65475048a","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/a460d671-8c97-4ea1-a51c-d3c65475048a","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454532,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUzMn0.twnl1nYt_4azrqkJbL852ARpAFjy606ogACAPIqV4aI"} 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":"4c609c8a2f45c15a93767e9a082c91e6"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUzMn0.twnl1nYt_4azrqkJbL852ARpAFjy606ogACAPIqV4aI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e06fc071229f8392b3078e2ec166fcdc","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":305,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:12Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":305,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.900008,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:12Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/251beb4e-4321-4cd3-b401-0255ab99b824","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/251beb4e-4321-4cd3-b401-0255ab99b824","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454532,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUzMn0.twnl1nYt_4azrqkJbL852ARpAFjy606ogACAPIqV4aI"} 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":"e06fc071229f8392b3078e2ec166fcdc"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa460d671-8c97-4ea1-a51c-d3c65475048a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa460d671-8c97-4ea1-a51c-d3c65475048a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:11.364165551Z"}]},"request_id":"e84ffb1f-3180-4c38-87c3-9c0ab3b5bf93","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454532.1845849} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4c609c8a2f45c15a93767e9a082c91e6"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f9e2a458-e64f-4651-a60a-212d49a6b432","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454532.1919372} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F251beb4e-4321-4cd3-b401-0255ab99b824","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F251beb4e-4321-4cd3-b401-0255ab99b824","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:11.699654047Z"}]},"request_id":"35fe7c3a-a355-48c5-9c5e-4dd1de2605a7","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454532.1927369} 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":"4c609c8a2f45c15a93767e9a082c91e6"},"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":"e06fc071229f8392b3078e2ec166fcdc"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"aade6061-5cfb-4138-81a6-8292e6c6e8bf","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454532.1989658} 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":"e06fc071229f8392b3078e2ec166fcdc"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa460d671-8c97-4ea1-a51c-d3c65475048a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa460d671-8c97-4ea1-a51c-d3c65475048a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:11.364165551Z"}]},"request_id":"39780b23-4dbd-4677-8d53-3c58588dcb13","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454532.3427904} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4c609c8a2f45c15a93767e9a082c91e6"},"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/a460d671-8c97-4ea1-a51c-d3c65475048a 200 177ms","method":"PATCH","requestID":"4c609c8a2f45c15a93767e9a082c91e6","responseTime":177,"status":200,"url":"/devices/a460d671-8c97-4ea1-a51c-d3c65475048a"} gateway_1 | {"time_local":"20/Feb/2024:18:42:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/a460d671-8c97-4ea1-a51c-d3c65475048a HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.181","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"4c609c8a2f45c15a93767e9a082c91e6"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUzMn0.twnl1nYt_4azrqkJbL852ARpAFjy606ogACAPIqV4aI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"15603c9907c2da8e7f696dea0eb61399","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":306,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:12Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":306,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.227629,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:12Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a460d671-8c97-4ea1-a51c-d3c65475048a","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/a460d671-8c97-4ea1-a51c-d3c65475048a","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454532,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUzMn0.twnl1nYt_4azrqkJbL852ARpAFjy606ogACAPIqV4aI"} 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":"15603c9907c2da8e7f696dea0eb61399"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F251beb4e-4321-4cd3-b401-0255ab99b824","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F251beb4e-4321-4cd3-b401-0255ab99b824","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:11.699654047Z"}]},"request_id":"9fa350e3-f1ea-43ee-be98-aed1b2e272c7","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454532.5023916} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e06fc071229f8392b3078e2ec166fcdc"},"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/251beb4e-4321-4cd3-b401-0255ab99b824 200 326ms","method":"PATCH","requestID":"e06fc071229f8392b3078e2ec166fcdc","responseTime":326,"status":200,"url":"/devices/251beb4e-4321-4cd3-b401-0255ab99b824"} gateway_1 | {"time_local":"20/Feb/2024:18:42:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/251beb4e-4321-4cd3-b401-0255ab99b824 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.331","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"e06fc071229f8392b3078e2ec166fcdc"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUzMn0.twnl1nYt_4azrqkJbL852ARpAFjy606ogACAPIqV4aI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"63fc8f2f8e401451904cf73aa947022c","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":307,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:12Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":307,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.765749,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:12Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/251beb4e-4321-4cd3-b401-0255ab99b824","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/251beb4e-4321-4cd3-b401-0255ab99b824","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454532,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUzMn0.twnl1nYt_4azrqkJbL852ARpAFjy606ogACAPIqV4aI"} 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":"63fc8f2f8e401451904cf73aa947022c"},"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/a460d671-8c97-4ea1-a51c-d3c65475048a/websocket 200 297ms","method":"POST","requestID":"15603c9907c2da8e7f696dea0eb61399","responseTime":297,"status":200,"url":"/devices/a460d671-8c97-4ea1-a51c-d3c65475048a/websocket"} gateway_1 | {"time_local":"20/Feb/2024:18:42:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/a460d671-8c97-4ea1-a51c-d3c65475048a/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.302","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"15603c9907c2da8e7f696dea0eb61399"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"20/Feb/2024:18:42:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/251beb4e-4321-4cd3-b401-0255ab99b824/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.276","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"63fc8f2f8e401451904cf73aa947022c"} device_1 | {"level":"info","message":"POST /devices/251beb4e-4321-4cd3-b401-0255ab99b824/websocket 200 272ms","method":"POST","requestID":"63fc8f2f8e401451904cf73aa947022c","responseTime":272,"status":200,"url":"/devices/251beb4e-4321-4cd3-b401-0255ab99b824/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/a460d671-8c97-4ea1-a51c-d3c65475048a' connected"} device_1 | {"level":"info","message":"device 'http://localhost/devices/251beb4e-4321-4cd3-b401-0255ab99b824' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUzM30.9OTJV0-6o89MB2Rc4lM0ii9j3dyPa-zAPeYqR-bUQ8Q","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"85457b7eef7c83fa7ab314d50381f7ad","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":308,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:13Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":308,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.140433,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:13Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a460d671-8c97-4ea1-a51c-d3c65475048a","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/a460d671-8c97-4ea1-a51c-d3c65475048a","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454533,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUzM30.9OTJV0-6o89MB2Rc4lM0ii9j3dyPa-zAPeYqR-bUQ8Q"} 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":"85457b7eef7c83fa7ab314d50381f7ad"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa460d671-8c97-4ea1-a51c-d3c65475048a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa460d671-8c97-4ea1-a51c-d3c65475048a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:11.364165551Z"}]},"request_id":"e4a2041e-ea51-4d33-83f4-6f6d5581d992","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454533.0547879} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"85457b7eef7c83fa7ab314d50381f7ad"},"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/a460d671-8c97-4ea1-a51c-d3c65475048a? 200 17ms","method":"GET","requestID":"85457b7eef7c83fa7ab314d50381f7ad","responseTime":17,"status":200,"url":"/devices/a460d671-8c97-4ea1-a51c-d3c65475048a?"} gateway_1 | {"time_local":"20/Feb/2024:18:42:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a460d671-8c97-4ea1-a51c-d3c65475048a? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"85457b7eef7c83fa7ab314d50381f7ad"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUzM30.9OTJV0-6o89MB2Rc4lM0ii9j3dyPa-zAPeYqR-bUQ8Q","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0072f8d63e299982d0721e44c814c12e","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":309,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:13Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":309,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.105657,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:13Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/251beb4e-4321-4cd3-b401-0255ab99b824","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/251beb4e-4321-4cd3-b401-0255ab99b824","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454533,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUzM30.9OTJV0-6o89MB2Rc4lM0ii9j3dyPa-zAPeYqR-bUQ8Q"} 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":"0072f8d63e299982d0721e44c814c12e"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F251beb4e-4321-4cd3-b401-0255ab99b824","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F251beb4e-4321-4cd3-b401-0255ab99b824","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:11.699654047Z"}]},"request_id":"d7ca37ff-be8f-4397-94f5-12a680a80036","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454533.076017} 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":"0072f8d63e299982d0721e44c814c12e"},"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":"20/Feb/2024:18:42:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/251beb4e-4321-4cd3-b401-0255ab99b824? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0072f8d63e299982d0721e44c814c12e"} device_1 | {"level":"info","message":"GET /devices/251beb4e-4321-4cd3-b401-0255ab99b824? 200 16ms","method":"GET","requestID":"0072f8d63e299982d0721e44c814c12e","responseTime":16,"status":200,"url":"/devices/251beb4e-4321-4cd3-b401-0255ab99b824?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUzM30.9OTJV0-6o89MB2Rc4lM0ii9j3dyPa-zAPeYqR-bUQ8Q","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d5e4291df1551b40583d36d48a4aa625","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:48424","level":"info","msg":"Received request.","req_id":310,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:13Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":310,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.210714,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:13Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454533,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUzM30.9OTJV0-6o89MB2Rc4lM0ii9j3dyPa-zAPeYqR-bUQ8Q"} 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":"d5e4291df1551b40583d36d48a4aa625"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/67c899d1-1205-4b3d-95f9-fab38a5cb7de"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/67c899d1-1205-4b3d-95f9-fab38a5cb7de"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/67c899d1-1205-4b3d-95f9-fab38a5cb7de"},"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:48424","level":"info","msg":"Received request.","req_id":311,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:13Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":311,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.204952,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:13Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a460d671-8c97-4ea1-a51c-d3c65475048a","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/a460d671-8c97-4ea1-a51c-d3c65475048a","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454533,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUzM30.9OTJV0-6o89MB2Rc4lM0ii9j3dyPa-zAPeYqR-bUQ8Q"} 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":"c343ad20-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:33604","level":"info","msg":"Received request.","req_id":312,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:13Z"} authorization_1 | {"client_addr":"127.0.0.1:33604","level":"info","msg":"Sent response.","req_id":312,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.503944,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:13Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/251beb4e-4321-4cd3-b401-0255ab99b824","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/251beb4e-4321-4cd3-b401-0255ab99b824","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454533,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUzM30.9OTJV0-6o89MB2Rc4lM0ii9j3dyPa-zAPeYqR-bUQ8Q"} 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":"c3442250-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa460d671-8c97-4ea1-a51c-d3c65475048a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa460d671-8c97-4ea1-a51c-d3c65475048a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:11.364165551Z"}]},"request_id":"8ab38d7e-f4d2-4cde-9366-1cb946ea44b5","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454533.375748} 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":"c343ad20-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F251beb4e-4321-4cd3-b401-0255ab99b824","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F251beb4e-4321-4cd3-b401-0255ab99b824","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:11.699654047Z"}]},"request_id":"61455f1a-b487-4ef3-8d04-bbcc052ba8ab","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454533.38157} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c3442250-d01f-11ee-ad1d-cbf3af4d0136"},"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/a460d671-8c97-4ea1-a51c-d3c65475048a? 200 23ms","method":"GET","requestID":"c343ad20-d01f-11ee-ad1d-cbf3af4d0136","responseTime":23,"status":200,"url":"/devices/a460d671-8c97-4ea1-a51c-d3c65475048a?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/251beb4e-4321-4cd3-b401-0255ab99b824? 200 22ms","method":"GET","requestID":"c3442250-d01f-11ee-ad1d-cbf3af4d0136","responseTime":22,"status":200,"url":"/devices/251beb4e-4321-4cd3-b401-0255ab99b824?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/67c899d1-1205-4b3d-95f9-fab38a5cb7de"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/67c899d1-1205-4b3d-95f9-fab38a5cb7de"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/67c899d1-1205-4b3d-95f9-fab38a5cb7de"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/67c899d1-1205-4b3d-95f9-fab38a5cb7de"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/67c899d1-1205-4b3d-95f9-fab38a5cb7de"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/67c899d1-1205-4b3d-95f9-fab38a5cb7de"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/67c899d1-1205-4b3d-95f9-fab38a5cb7de"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/67c899d1-1205-4b3d-95f9-fab38a5cb7de"},"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/67c899d1-1205-4b3d-95f9-fab38a5cb7de"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":313,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:13Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":313,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.079097,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:13Z"} authorization_1 | {"client_addr":"127.0.0.1:33604","level":"info","msg":"Received request.","req_id":314,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:13Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a460d671-8c97-4ea1-a51c-d3c65475048a","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/a460d671-8c97-4ea1-a51c-d3c65475048a","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454533,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUzM30.9OTJV0-6o89MB2Rc4lM0ii9j3dyPa-zAPeYqR-bUQ8Q"} 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":"c386a990-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:33604","level":"info","msg":"Sent response.","req_id":314,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.36186,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:13Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/251beb4e-4321-4cd3-b401-0255ab99b824","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/251beb4e-4321-4cd3-b401-0255ab99b824","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454533,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUzM30.9OTJV0-6o89MB2Rc4lM0ii9j3dyPa-zAPeYqR-bUQ8Q"} 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":"c386f7b0-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa460d671-8c97-4ea1-a51c-d3c65475048a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa460d671-8c97-4ea1-a51c-d3c65475048a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:11.364165551Z"}]},"request_id":"9fe92452-25d0-4cb1-b867-31c05260c39a","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454533.8151977} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c386a990-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F251beb4e-4321-4cd3-b401-0255ab99b824","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F251beb4e-4321-4cd3-b401-0255ab99b824","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:11.699654047Z"}]},"request_id":"d1f192d5-c8a1-4b7b-a1c1-b3ed502f6609","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454533.8158972} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c386f7b0-d01f-11ee-ad1d-cbf3af4d0136"},"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/a460d671-8c97-4ea1-a51c-d3c65475048a? 200 20ms","method":"GET","requestID":"c386a990-d01f-11ee-ad1d-cbf3af4d0136","responseTime":20,"status":200,"url":"/devices/a460d671-8c97-4ea1-a51c-d3c65475048a?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/251beb4e-4321-4cd3-b401-0255ab99b824? 200 19ms","method":"GET","requestID":"c386f7b0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":19,"status":200,"url":"/devices/251beb4e-4321-4cd3-b401-0255ab99b824?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":315,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:13Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":315,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":1.451822,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:13Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/a460d671-8c97-4ea1-a51c-d3c65475048a","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a460d671-8c97-4ea1-a51c-d3c65475048a","object_type":"device","rebac_allow":false,"scope_allow":false,"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":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c38a5310-d01f-11ee-ad1d-cbf3af4d0136"},"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/a460d671-8c97-4ea1-a51c-d3c65475048a/signaling 200 8ms","method":"POST","requestID":"c38a5310-d01f-11ee-ad1d-cbf3af4d0136","responseTime":8,"status":200,"url":"/devices/a460d671-8c97-4ea1-a51c-d3c65475048a/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":316,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:13Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":316,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.845089,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:13Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/251beb4e-4321-4cd3-b401-0255ab99b824","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/251beb4e-4321-4cd3-b401-0255ab99b824","object_type":"device","rebac_allow":false,"scope_allow":false,"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":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c38bd9b0-d01f-11ee-ad1d-cbf3af4d0136"},"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/251beb4e-4321-4cd3-b401-0255ab99b824/signaling 200 7ms","method":"POST","requestID":"c38bd9b0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":7,"status":200,"url":"/devices/251beb4e-4321-4cd3-b401-0255ab99b824/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/67c899d1-1205-4b3d-95f9-fab38a5cb7de"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/67c899d1-1205-4b3d-95f9-fab38a5cb7de"},"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":"943de9d0-f79e-4611-b2b0-b2f2aa9be7a9"},{"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":"40e299cc-e917-468c-a382-5f357c9ac41e"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"9aaab340-e5ca-4cb2-9633-58c84938a7bc"}]},"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/a460d671-8c97-4ea1-a51c-d3c65475048a"},{"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/251beb4e-4321-4cd3-b401-0255ab99b824"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":317,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:13Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":317,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.782408,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:13Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454533,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUzM30.9OTJV0-6o89MB2Rc4lM0ii9j3dyPa-zAPeYqR-bUQ8Q"} 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":"c38d3940-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F67c899d1-1205-4b3d-95f9-fab38a5cb7de#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F67c899d1-1205-4b3d-95f9-fab38a5cb7de","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"c787b1f9-2413-49fb-a9fa-ecae75c1a86e","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454533.9428136} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0b604fd8-47f1-48ff-970e-c8a546e36721","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454533.9431846} authorization_1 | {"level":"info","message":"POST /relations/update 200 134ms","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":"d5e4291df1551b40583d36d48a4aa625"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":134}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","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%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"6705c349-feeb-4636-a2e2-20f3afc0b99d","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454533.9447672} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5bd8456b-e548-4f3e-9aac-1ae3ff5064d6","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454533.9450183} authorization_1 | {"level":"info","message":"POST /relations/update 200 96ms","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":"c38d3940-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":96}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/67c899d1-1205-4b3d-95f9-fab38a5cb7de","user":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 869ms","method":"POST","requestID":"d5e4291df1551b40583d36d48a4aa625","responseTime":869,"status":201,"url":"/experiments?"} gateway_1 | {"time_local":"20/Feb/2024:18:42:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1295","request_time":"0.876","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d5e4291df1551b40583d36d48a4aa625"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUzM30.9OTJV0-6o89MB2Rc4lM0ii9j3dyPa-zAPeYqR-bUQ8Q","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a8fc93a6935e8765c4a78664bd9b1102","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":318,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:13Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":318,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.022782,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:13Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a460d671-8c97-4ea1-a51c-d3c65475048a","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/a460d671-8c97-4ea1-a51c-d3c65475048a","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454533,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUzM30.9OTJV0-6o89MB2Rc4lM0ii9j3dyPa-zAPeYqR-bUQ8Q"} 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":"a8fc93a6935e8765c4a78664bd9b1102"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa460d671-8c97-4ea1-a51c-d3c65475048a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa460d671-8c97-4ea1-a51c-d3c65475048a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:11.364165551Z"}]},"request_id":"7cd67d7f-72bd-4212-be05-a5d589ac7cc5","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454533.9725146} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a8fc93a6935e8765c4a78664bd9b1102"},"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/9ac6f846-7f44-4303-9a97-488c62ec5829'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/9ac6f846-7f44-4303-9a97-488c62ec5829'"} 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 259ms","method":"POST","requestID":"c38d3940-d01f-11ee-ad1d-cbf3af4d0136","responseTime":259,"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":"20/Feb/2024:18:42:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a460d671-8c97-4ea1-a51c-d3c65475048a? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.145","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a8fc93a6935e8765c4a78664bd9b1102"} device_1 | {"level":"info","message":"GET /devices/a460d671-8c97-4ea1-a51c-d3c65475048a? 200 141ms","method":"GET","requestID":"a8fc93a6935e8765c4a78664bd9b1102","responseTime":141,"status":200,"url":"/devices/a460d671-8c97-4ea1-a51c-d3c65475048a?"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUzNH0.sKWPAKWrBKDzhOVgOx9rZDrLVeoWy9ol4Kc9yzjH4Nw","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0c51576a876156d1243804388b490c4a","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":319,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:14Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":319,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.796805,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:14Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/251beb4e-4321-4cd3-b401-0255ab99b824","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/251beb4e-4321-4cd3-b401-0255ab99b824","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454534,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUzNH0.sKWPAKWrBKDzhOVgOx9rZDrLVeoWy9ol4Kc9yzjH4Nw"} 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":"0c51576a876156d1243804388b490c4a"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F251beb4e-4321-4cd3-b401-0255ab99b824","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F251beb4e-4321-4cd3-b401-0255ab99b824","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:11.699654047Z"}]},"request_id":"2adfdedf-dc86-4acc-a864-d8085f5327e6","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454534.1252253} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0c51576a876156d1243804388b490c4a"},"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":"20/Feb/2024:18:42:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/251beb4e-4321-4cd3-b401-0255ab99b824? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0c51576a876156d1243804388b490c4a"} device_1 | {"level":"info","message":"GET /devices/251beb4e-4321-4cd3-b401-0255ab99b824? 200 13ms","method":"GET","requestID":"0c51576a876156d1243804388b490c4a","responseTime":13,"status":200,"url":"/devices/251beb4e-4321-4cd3-b401-0255ab99b824?"} device_1 | {"data":{"peerconnection":"9ac6f846-7f44-4303-9a97-488c62ec5829","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"9ac6f846-7f44-4303-9a97-488c62ec5829","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/9ac6f846-7f44-4303-9a97-488c62ec5829' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"9ac6f846-7f44-4303-9a97-488c62ec5829","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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b7e2063dfe37e01f0af79c61b65ca95f","responseTime":1,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/a460d671-8c97-4ea1-a51c-d3c65475048a"},{"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/251beb4e-4321-4cd3-b401-0255ab99b824"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/9ac6f846-7f44-4303-9a97-488c62ec5829"}}},"level":"info","message":"received a callback"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUzNH0.sKWPAKWrBKDzhOVgOx9rZDrLVeoWy9ol4Kc9yzjH4Nw","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"c42ee53a4b55e90087df79ebc1023034","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/67c899d1-1205-4b3d-95f9-fab38a5cb7de"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 148ms","method":"POST","requestID":"b7e2063dfe37e01f0af79c61b65ca95f","responseTime":148,"status":200,"url":"/callbacks/experiment"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":320,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:14Z"} gateway_1 | {"time_local":"20/Feb/2024:18:42:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.152","http_referrer":"","http_user_agent":"node-fetch","requestID":"b7e2063dfe37e01f0af79c61b65ca95f"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":320,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.830916,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:14Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/67c899d1-1205-4b3d-95f9-fab38a5cb7de","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/67c899d1-1205-4b3d-95f9-fab38a5cb7de","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454534,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUzNH0.sKWPAKWrBKDzhOVgOx9rZDrLVeoWy9ol4Kc9yzjH4Nw"} 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":"c42ee53a4b55e90087df79ebc1023034"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"data":{"peerconnection":"9ac6f846-7f44-4303-9a97-488c62ec5829","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/67c899d1-1205-4b3d-95f9-fab38a5cb7de"},"level":"info","message":"Successfully created peerconnections for experiment"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/67c899d1-1205-4b3d-95f9-fab38a5cb7de"} gateway_1 | {"time_local":"20/Feb/2024:18:42:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/67c899d1-1205-4b3d-95f9-fab38a5cb7de HTTP/1.1","status": "200","body_bytes_sent":"1366","request_time":"0.195","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c42ee53a4b55e90087df79ebc1023034"} experiment_1 | {"level":"info","message":"GET /experiments/67c899d1-1205-4b3d-95f9-fab38a5cb7de 200 186ms","method":"GET","requestID":"c42ee53a4b55e90087df79ebc1023034","responseTime":186,"status":200,"url":"/experiments/67c899d1-1205-4b3d-95f9-fab38a5cb7de"} device_1 | {"data":{"peerconnection":"9ac6f846-7f44-4303-9a97-488c62ec5829","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUzNH0.sKWPAKWrBKDzhOVgOx9rZDrLVeoWy9ol4Kc9yzjH4Nw","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"639e99913d464fbe0478e929f65b2490","responseTime":6,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/67c899d1-1205-4b3d-95f9-fab38a5cb7de"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":321,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:14Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":321,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.914378,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:14Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/67c899d1-1205-4b3d-95f9-fab38a5cb7de","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/67c899d1-1205-4b3d-95f9-fab38a5cb7de","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454534,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUzNH0.sKWPAKWrBKDzhOVgOx9rZDrLVeoWy9ol4Kc9yzjH4Nw"} 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":"639e99913d464fbe0478e929f65b2490"},"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/67c899d1-1205-4b3d-95f9-fab38a5cb7de"} gateway_1 | {"time_local":"20/Feb/2024:18:42:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/67c899d1-1205-4b3d-95f9-fab38a5cb7de HTTP/1.1","status": "200","body_bytes_sent":"1366","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"639e99913d464fbe0478e929f65b2490"} experiment_1 | {"level":"info","message":"GET /experiments/67c899d1-1205-4b3d-95f9-fab38a5cb7de 200 13ms","method":"GET","requestID":"639e99913d464fbe0478e929f65b2490","responseTime":13,"status":200,"url":"/experiments/67c899d1-1205-4b3d-95f9-fab38a5cb7de"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/9ac6f846-7f44-4303-9a97-488c62ec5829' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"9ac6f846-7f44-4303-9a97-488c62ec5829","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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d10992eff7e59cc00eaaf84b6631fedc","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/a460d671-8c97-4ea1-a51c-d3c65475048a"},{"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/251beb4e-4321-4cd3-b401-0255ab99b824"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/9ac6f846-7f44-4303-9a97-488c62ec5829"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":322,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:14Z"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","contextual_tuples":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F9ac6f846-7f44-4303-9a97-488c62ec5829","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4029449b-2596-46d3-a1d6-7adf7bcdc7a4","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454534.6585917} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":322,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.604332,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:14Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/9ac6f846-7f44-4303-9a97-488c62ec5829","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/9ac6f846-7f44-4303-9a97-488c62ec5829","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":"c40883c0-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUzNH0.sKWPAKWrBKDzhOVgOx9rZDrLVeoWy9ol4Kc9yzjH4Nw","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"09a787534a6150b2086798ca68c9773e","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/67c899d1-1205-4b3d-95f9-fab38a5cb7de"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":323,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:14Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":323,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.422867,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:14Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/67c899d1-1205-4b3d-95f9-fab38a5cb7de","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/67c899d1-1205-4b3d-95f9-fab38a5cb7de","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454534,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUzNH0.sKWPAKWrBKDzhOVgOx9rZDrLVeoWy9ol4Kc9yzjH4Nw"} 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":"09a787534a6150b2086798ca68c9773e"},"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/67c899d1-1205-4b3d-95f9-fab38a5cb7de"} gateway_1 | {"time_local":"20/Feb/2024:18:42:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/67c899d1-1205-4b3d-95f9-fab38a5cb7de HTTP/1.1","status": "200","body_bytes_sent":"1366","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"09a787534a6150b2086798ca68c9773e"} experiment_1 | {"level":"info","message":"GET /experiments/67c899d1-1205-4b3d-95f9-fab38a5cb7de 200 16ms","method":"GET","requestID":"09a787534a6150b2086798ca68c9773e","responseTime":16,"status":200,"url":"/experiments/67c899d1-1205-4b3d-95f9-fab38a5cb7de"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"GET /peerconnections/9ac6f846-7f44-4303-9a97-488c62ec5829 200 128ms","method":"GET","requestID":"c40883c0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":128,"status":200,"url":"/peerconnections/9ac6f846-7f44-4303-9a97-488c62ec5829"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUzNH0.sKWPAKWrBKDzhOVgOx9rZDrLVeoWy9ol4Kc9yzjH4Nw","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"26b1bb3d1a2c44f274c5fca61897d9d8","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/67c899d1-1205-4b3d-95f9-fab38a5cb7de"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":324,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:14Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":324,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.182187,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:14Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/67c899d1-1205-4b3d-95f9-fab38a5cb7de","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/67c899d1-1205-4b3d-95f9-fab38a5cb7de","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454534,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUzNH0.sKWPAKWrBKDzhOVgOx9rZDrLVeoWy9ol4Kc9yzjH4Nw"} 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":"26b1bb3d1a2c44f274c5fca61897d9d8"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 279ms","method":"POST","requestID":"d10992eff7e59cc00eaaf84b6631fedc","responseTime":279,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:42:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.283","http_referrer":"","http_user_agent":"node-fetch","requestID":"d10992eff7e59cc00eaaf84b6631fedc"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/67c899d1-1205-4b3d-95f9-fab38a5cb7de"} gateway_1 | {"time_local":"20/Feb/2024:18:42:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/67c899d1-1205-4b3d-95f9-fab38a5cb7de HTTP/1.1","status": "200","body_bytes_sent":"1368","request_time":"0.095","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"26b1bb3d1a2c44f274c5fca61897d9d8"} experiment_1 | {"level":"info","message":"GET /experiments/67c899d1-1205-4b3d-95f9-fab38a5cb7de 200 88ms","method":"GET","requestID":"26b1bb3d1a2c44f274c5fca61897d9d8","responseTime":88,"status":200,"url":"/experiments/67c899d1-1205-4b3d-95f9-fab38a5cb7de"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUzNH0.sKWPAKWrBKDzhOVgOx9rZDrLVeoWy9ol4Kc9yzjH4Nw","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"439a03ce144289d7793ecb2482a78130","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/67c899d1-1205-4b3d-95f9-fab38a5cb7de"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":325,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:14Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":325,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.688606,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:14Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/67c899d1-1205-4b3d-95f9-fab38a5cb7de","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/67c899d1-1205-4b3d-95f9-fab38a5cb7de","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454534,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUzNH0.sKWPAKWrBKDzhOVgOx9rZDrLVeoWy9ol4Kc9yzjH4Nw"} 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":"439a03ce144289d7793ecb2482a78130"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/67c899d1-1205-4b3d-95f9-fab38a5cb7de"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":326,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:14Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":326,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.921008,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:14Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/9ac6f846-7f44-4303-9a97-488c62ec5829","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"peerconnection:http://localhost/peerconnections/9ac6f846-7f44-4303-9a97-488c62ec5829","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454534,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUzNH0.sKWPAKWrBKDzhOVgOx9rZDrLVeoWy9ol4Kc9yzjH4Nw"} 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":"c4358730-d01f-11ee-ad1d-cbf3af4d0136"},"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/9ac6f846-7f44-4303-9a97-488c62ec5829' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/9ac6f846-7f44-4303-9a97-488c62ec5829' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"9ac6f846-7f44-4303-9a97-488c62ec5829","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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"8d63169db4c4828e84a1bc1ca1e872da","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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3fe4e88461228cb4a7ac7f779a480e18","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/a460d671-8c97-4ea1-a51c-d3c65475048a"},{"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/251beb4e-4321-4cd3-b401-0255ab99b824"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/9ac6f846-7f44-4303-9a97-488c62ec5829"}}},"level":"info","message":"received a callback"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F9ac6f846-7f44-4303-9a97-488c62ec5829': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F9ac6f846-7f44-4303-9a97-488c62ec5829","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]},"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":null},"raw_response":{},"request_id":"17e7c7c2-9adb-4ac4-a393-b3ffc8be6bbb","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454534.964329} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5ea4b6d4-d895-4f6d-9afd-6654bef83e48","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454534.964538} 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/a460d671-8c97-4ea1-a51c-d3c65475048a"},{"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/251beb4e-4321-4cd3-b401-0255ab99b824"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/9ac6f846-7f44-4303-9a97-488c62ec5829"}}},"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":"c4358730-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} device_1 | {"data":{"peerconnection":"9ac6f846-7f44-4303-9a97-488c62ec5829","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/9ac6f846-7f44-4303-9a97-488c62ec5829 204 319ms","method":"DELETE","requestID":"c4358730-d01f-11ee-ad1d-cbf3af4d0136","responseTime":319,"status":204,"url":"/peerconnections/9ac6f846-7f44-4303-9a97-488c62ec5829"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/67c899d1-1205-4b3d-95f9-fab38a5cb7de"},"level":"info","message":"Successfully finished experiment"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F67c899d1-1205-4b3d-95f9-fab38a5cb7de': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F67c899d1-1205-4b3d-95f9-fab38a5cb7de","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]},"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":null},"raw_response":{},"request_id":"c214866a-58ca-4f27-9f0a-487ea452071a","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454535.5445504} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"67835cb2-2925-4b8a-8d4f-7564334c6238","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454535.5448673} authorization_1 | {"level":"info","message":"POST /relations/update 200 180ms","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":"439a03ce144289d7793ecb2482a78130"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":180}} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/67c899d1-1205-4b3d-95f9-fab38a5cb7de"} gateway_1 | {"time_local":"20/Feb/2024:18:42:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/67c899d1-1205-4b3d-95f9-fab38a5cb7de HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"1.524","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"439a03ce144289d7793ecb2482a78130"} gateway_1 | {"time_local":"20/Feb/2024:18:42:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1762","request_time":"3.802","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"d9f8c5ba93a19312cca590da0cb46e72"} gateway_1 | {"time_local":"20/Feb/2024:18:42:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1760","request_time":"3.668","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"e8c166604af12f264f0dc2a7f0a1c62c"} experiment_1 | {"level":"info","message":"DELETE /experiments/67c899d1-1205-4b3d-95f9-fab38a5cb7de 204 1520ms","method":"DELETE","requestID":"439a03ce144289d7793ecb2482a78130","responseTime":1520,"status":204,"url":"/experiments/67c899d1-1205-4b3d-95f9-fab38a5cb7de"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1497ms","method":"POST","requestID":"8d63169db4c4828e84a1bc1ca1e872da","responseTime":1497,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:42:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"1.500","http_referrer":"","http_user_agent":"node-fetch","requestID":"8d63169db4c4828e84a1bc1ca1e872da"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1498ms","method":"POST","requestID":"3fe4e88461228cb4a7ac7f779a480e18","responseTime":1498,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:42:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"1.503","http_referrer":"","http_user_agent":"node-fetch","requestID":"3fe4e88461228cb4a7ac7f779a480e18"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUzNn0.uUqI3TkTf48-t7i1208mGs1dparZP4k1u8xGxFpzur8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"84147f5b76c308d5e8511536cccf254b","responseTime":6,"status":200,"url":"/auth"} device_1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/251beb4e-4321-4cd3-b401-0255ab99b824' closed"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":327,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:16Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":327,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.84692,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:16Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454536,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUzNn0.uUqI3TkTf48-t7i1208mGs1dparZP4k1u8xGxFpzur8"} 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":"84147f5b76c308d5e8511536cccf254b"},"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/a460d671-8c97-4ea1-a51c-d3c65475048a' 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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f5d8d83-81da-46b1-8476-bad41a0b4b15","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"7c7a2eb5-0c5a-4f84-97e2-80bd9a2dafc3","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454536.7851064} 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":"84147f5b76c308d5e8511536cccf254b"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"88d0ab12-1bf1-4a5c-a347-4cfcac31bfb3","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454536.792465} 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":"84147f5b76c308d5e8511536cccf254b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f5d8d83-81da-46b1-8476-bad41a0b4b15","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"01dd438e-6ed0-4be0-a505-8f14590a84fd","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454537.083624} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d6230e51-ba7e-4732-bebd-d7152d7a6b67","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454537.0839798} authorization_1 | {"level":"info","message":"POST /relations/update 200 295ms","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":"84147f5b76c308d5e8511536cccf254b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":295}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f5d8d83-81da-46b1-8476-bad41a0b4b15","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f5d8d83-81da-46b1-8476-bad41a0b4b15","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:17.083592544Z"}]},"request_id":"4b14991e-42f0-43fa-bb59-84cdc3f25da9","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454537.0911403} 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":"84147f5b76c308d5e8511536cccf254b"},"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 622ms","method":"POST","requestID":"84147f5b76c308d5e8511536cccf254b","responseTime":623,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"20/Feb/2024:18:42:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.638","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"84147f5b76c308d5e8511536cccf254b"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUzN30.EDXQfHeqw92OULJT5T0cvSejMrEd-4wz97h0jm9n7GQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"009ca659973d1d1499a34948a018b658","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":328,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:17Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":328,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.592837,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:17Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454537,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUzN30.EDXQfHeqw92OULJT5T0cvSejMrEd-4wz97h0jm9n7GQ"} 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":"009ca659973d1d1499a34948a018b658"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73f27556-cd96-4748-9755-0c2b6bfce9a0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"6f78dbb6-d4d0-44d1-8385-f7bd281adbcd","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454537.4266737} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"009ca659973d1d1499a34948a018b658"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8570b41e-191c-4f5c-8ec4-efbbbb1307ac","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454537.4339392} 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":"009ca659973d1d1499a34948a018b658"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73f27556-cd96-4748-9755-0c2b6bfce9a0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"eed04848-af52-456d-abd2-506f8441a886","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454537.5942962} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a0a26886-2218-40fc-932a-b00853a463a9","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454537.5946786} authorization_1 | {"level":"info","message":"POST /relations/update 200 163ms","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":"009ca659973d1d1499a34948a018b658"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":163}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73f27556-cd96-4748-9755-0c2b6bfce9a0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73f27556-cd96-4748-9755-0c2b6bfce9a0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:17.594269085Z"}]},"request_id":"87b5d678-c567-463a-892c-073b3a2c4592","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454537.601913} 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":"009ca659973d1d1499a34948a018b658"},"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 504ms","method":"POST","requestID":"009ca659973d1d1499a34948a018b658","responseTime":504,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"20/Feb/2024:18:42:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.533","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"009ca659973d1d1499a34948a018b658"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUzOH0.UuqXuIfQsNVZRJTe9X_S7wdWKMpRZK4WwrFSLPn-nGU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7ad86f28c97a82d62d5d9b1546023b30","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":329,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:18Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":329,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.71077,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:18Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8f5d8d83-81da-46b1-8476-bad41a0b4b15","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/8f5d8d83-81da-46b1-8476-bad41a0b4b15","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454538,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUzOH0.UuqXuIfQsNVZRJTe9X_S7wdWKMpRZK4WwrFSLPn-nGU"} 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":"7ad86f28c97a82d62d5d9b1546023b30"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f5d8d83-81da-46b1-8476-bad41a0b4b15","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f5d8d83-81da-46b1-8476-bad41a0b4b15","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:17.083592544Z"}]},"request_id":"f06d3a75-875c-4d3e-941e-61345cccbf83","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454538.0630927} 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":"7ad86f28c97a82d62d5d9b1546023b30"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUzOH0.UuqXuIfQsNVZRJTe9X_S7wdWKMpRZK4WwrFSLPn-nGU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"403c1f1379d877022a1890991505dbea","responseTime":3,"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d4387502-2912-4350-8d69-9fd3c9cda5aa","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454538.0682852} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} 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":"7ad86f28c97a82d62d5d9b1546023b30"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":330,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:18Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":330,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.93226,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:18Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/73f27556-cd96-4748-9755-0c2b6bfce9a0","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/73f27556-cd96-4748-9755-0c2b6bfce9a0","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454538,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUzOH0.UuqXuIfQsNVZRJTe9X_S7wdWKMpRZK4WwrFSLPn-nGU"} 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":"403c1f1379d877022a1890991505dbea"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f5d8d83-81da-46b1-8476-bad41a0b4b15","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f5d8d83-81da-46b1-8476-bad41a0b4b15","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:17.083592544Z"}]},"request_id":"26c03bdf-b3fe-44f5-9821-69cc17a58cdb","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454538.213233} 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":"7ad86f28c97a82d62d5d9b1546023b30"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73f27556-cd96-4748-9755-0c2b6bfce9a0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73f27556-cd96-4748-9755-0c2b6bfce9a0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:17.594269085Z"}]},"request_id":"c99a77c3-6e17-4cc9-8158-b9f50d9cab00","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454538.2152205} device_1 | {"level":"info","message":"patchDevicesByDeviceId 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":"403c1f1379d877022a1890991505dbea"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} gateway_1 | {"time_local":"20/Feb/2024:18:42:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/8f5d8d83-81da-46b1-8476-bad41a0b4b15 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.169","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"7ad86f28c97a82d62d5d9b1546023b30"} device_1 | {"level":"info","message":"PATCH /devices/8f5d8d83-81da-46b1-8476-bad41a0b4b15 200 165ms","method":"PATCH","requestID":"7ad86f28c97a82d62d5d9b1546023b30","responseTime":165,"status":200,"url":"/devices/8f5d8d83-81da-46b1-8476-bad41a0b4b15"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUzOH0.UuqXuIfQsNVZRJTe9X_S7wdWKMpRZK4WwrFSLPn-nGU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"012fc52706dc9ae3fd75f0e1035b5397","responseTime":4,"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8419c83b-5cae-4ff1-ad33-a2b68b81fd1e","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454538.224863} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} 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":"403c1f1379d877022a1890991505dbea"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":331,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:18Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":331,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.910521,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:18Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8f5d8d83-81da-46b1-8476-bad41a0b4b15","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/8f5d8d83-81da-46b1-8476-bad41a0b4b15","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454538,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUzOH0.UuqXuIfQsNVZRJTe9X_S7wdWKMpRZK4WwrFSLPn-nGU"} 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":"012fc52706dc9ae3fd75f0e1035b5397"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73f27556-cd96-4748-9755-0c2b6bfce9a0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73f27556-cd96-4748-9755-0c2b6bfce9a0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:17.594269085Z"}]},"request_id":"c1224347-857b-4788-a26c-fd67b5c8e64f","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454538.363682} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"403c1f1379d877022a1890991505dbea"},"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":"20/Feb/2024:18:42:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/73f27556-cd96-4748-9755-0c2b6bfce9a0 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.303","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"403c1f1379d877022a1890991505dbea"} device_1 | {"level":"info","message":"PATCH /devices/73f27556-cd96-4748-9755-0c2b6bfce9a0 200 298ms","method":"PATCH","requestID":"403c1f1379d877022a1890991505dbea","responseTime":298,"status":200,"url":"/devices/73f27556-cd96-4748-9755-0c2b6bfce9a0"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUzOH0.UuqXuIfQsNVZRJTe9X_S7wdWKMpRZK4WwrFSLPn-nGU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"25797de0eb8ff8dd29e6837200239fa9","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":332,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:18Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":332,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.11075,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:18Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/73f27556-cd96-4748-9755-0c2b6bfce9a0","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/73f27556-cd96-4748-9755-0c2b6bfce9a0","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454538,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUzOH0.UuqXuIfQsNVZRJTe9X_S7wdWKMpRZK4WwrFSLPn-nGU"} 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":"25797de0eb8ff8dd29e6837200239fa9"},"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":"20/Feb/2024:18:42:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/8f5d8d83-81da-46b1-8476-bad41a0b4b15/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.301","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"012fc52706dc9ae3fd75f0e1035b5397"} device_1 | {"level":"info","message":"POST /devices/8f5d8d83-81da-46b1-8476-bad41a0b4b15/websocket 200 295ms","method":"POST","requestID":"012fc52706dc9ae3fd75f0e1035b5397","responseTime":295,"status":200,"url":"/devices/8f5d8d83-81da-46b1-8476-bad41a0b4b15/websocket"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"20/Feb/2024:18:42:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/73f27556-cd96-4748-9755-0c2b6bfce9a0/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.277","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"25797de0eb8ff8dd29e6837200239fa9"} device_1 | {"level":"info","message":"POST /devices/73f27556-cd96-4748-9755-0c2b6bfce9a0/websocket 200 273ms","method":"POST","requestID":"25797de0eb8ff8dd29e6837200239fa9","responseTime":273,"status":200,"url":"/devices/73f27556-cd96-4748-9755-0c2b6bfce9a0/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/8f5d8d83-81da-46b1-8476-bad41a0b4b15' connected"} device_1 | {"level":"info","message":"device 'http://localhost/devices/73f27556-cd96-4748-9755-0c2b6bfce9a0' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUzOH0.UuqXuIfQsNVZRJTe9X_S7wdWKMpRZK4WwrFSLPn-nGU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b4fc62f29fe2b9f1908fb989a6ae87e5","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":333,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:18Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":333,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.281206,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:18Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8f5d8d83-81da-46b1-8476-bad41a0b4b15","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/8f5d8d83-81da-46b1-8476-bad41a0b4b15","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454538,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUzOH0.UuqXuIfQsNVZRJTe9X_S7wdWKMpRZK4WwrFSLPn-nGU"} 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":"b4fc62f29fe2b9f1908fb989a6ae87e5"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f5d8d83-81da-46b1-8476-bad41a0b4b15","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f5d8d83-81da-46b1-8476-bad41a0b4b15","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:17.083592544Z"}]},"request_id":"09de0be7-7c6a-4d7d-b7b8-ea58fea30a16","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454538.9168339} 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":"b4fc62f29fe2b9f1908fb989a6ae87e5"},"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":"20/Feb/2024:18:42:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8f5d8d83-81da-46b1-8476-bad41a0b4b15? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b4fc62f29fe2b9f1908fb989a6ae87e5"} device_1 | {"level":"info","message":"GET /devices/8f5d8d83-81da-46b1-8476-bad41a0b4b15? 200 19ms","method":"GET","requestID":"b4fc62f29fe2b9f1908fb989a6ae87e5","responseTime":19,"status":200,"url":"/devices/8f5d8d83-81da-46b1-8476-bad41a0b4b15?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUzOH0.UuqXuIfQsNVZRJTe9X_S7wdWKMpRZK4WwrFSLPn-nGU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9c667f979d62745d2778aa2e49ba223b","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":334,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:18Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":334,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.167278,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:18Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/73f27556-cd96-4748-9755-0c2b6bfce9a0","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/73f27556-cd96-4748-9755-0c2b6bfce9a0","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454538,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUzOH0.UuqXuIfQsNVZRJTe9X_S7wdWKMpRZK4WwrFSLPn-nGU"} 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":"9c667f979d62745d2778aa2e49ba223b"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73f27556-cd96-4748-9755-0c2b6bfce9a0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73f27556-cd96-4748-9755-0c2b6bfce9a0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:17.594269085Z"}]},"request_id":"ffab919d-28a1-42ec-8526-7cde0f576563","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454538.943078} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9c667f979d62745d2778aa2e49ba223b"},"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/73f27556-cd96-4748-9755-0c2b6bfce9a0? 200 16ms","method":"GET","requestID":"9c667f979d62745d2778aa2e49ba223b","responseTime":16,"status":200,"url":"/devices/73f27556-cd96-4748-9755-0c2b6bfce9a0?"} gateway_1 | {"time_local":"20/Feb/2024:18:42:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/73f27556-cd96-4748-9755-0c2b6bfce9a0? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9c667f979d62745d2778aa2e49ba223b"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUzOH0.UuqXuIfQsNVZRJTe9X_S7wdWKMpRZK4WwrFSLPn-nGU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2e249aa677b9536983d0216aaa4f13d6","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:48424","level":"info","msg":"Received request.","req_id":335,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:18Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":335,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.021378,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:18Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454538,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUzOH0.UuqXuIfQsNVZRJTe9X_S7wdWKMpRZK4WwrFSLPn-nGU"} 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":"2e249aa677b9536983d0216aaa4f13d6"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/78bf4a68-1e5b-4bfe-9725-96bbf22c5756"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/78bf4a68-1e5b-4bfe-9725-96bbf22c5756"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/78bf4a68-1e5b-4bfe-9725-96bbf22c5756"},"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:48424","level":"info","msg":"Received request.","req_id":336,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:19Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":336,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.131915,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:19Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8f5d8d83-81da-46b1-8476-bad41a0b4b15","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/8f5d8d83-81da-46b1-8476-bad41a0b4b15","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454538,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUzOH0.UuqXuIfQsNVZRJTe9X_S7wdWKMpRZK4WwrFSLPn-nGU"} 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":"c6c5f610-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:50162","level":"info","msg":"Received request.","req_id":337,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:19Z"} authorization_1 | {"client_addr":"127.0.0.1:50162","level":"info","msg":"Sent response.","req_id":337,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.089271,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:19Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/73f27556-cd96-4748-9755-0c2b6bfce9a0","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/73f27556-cd96-4748-9755-0c2b6bfce9a0","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454538,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUzOH0.UuqXuIfQsNVZRJTe9X_S7wdWKMpRZK4WwrFSLPn-nGU"} 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":"c6c64430-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f5d8d83-81da-46b1-8476-bad41a0b4b15","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f5d8d83-81da-46b1-8476-bad41a0b4b15","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:17.083592544Z"}]},"request_id":"d90869fd-a17f-4cda-a119-3c60ddd32938","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454539.2609763} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c6c5f610-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73f27556-cd96-4748-9755-0c2b6bfce9a0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73f27556-cd96-4748-9755-0c2b6bfce9a0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:17.594269085Z"}]},"request_id":"9fc24d0d-18a7-4c9b-a242-031a9844332f","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454539.264955} 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":"c6c64430-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"GET /devices/8f5d8d83-81da-46b1-8476-bad41a0b4b15? 200 17ms","method":"GET","requestID":"c6c5f610-d01f-11ee-ad1d-cbf3af4d0136","responseTime":17,"status":200,"url":"/devices/8f5d8d83-81da-46b1-8476-bad41a0b4b15?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/73f27556-cd96-4748-9755-0c2b6bfce9a0? 200 19ms","method":"GET","requestID":"c6c64430-d01f-11ee-ad1d-cbf3af4d0136","responseTime":19,"status":200,"url":"/devices/73f27556-cd96-4748-9755-0c2b6bfce9a0?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/78bf4a68-1e5b-4bfe-9725-96bbf22c5756"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/78bf4a68-1e5b-4bfe-9725-96bbf22c5756"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/78bf4a68-1e5b-4bfe-9725-96bbf22c5756"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/78bf4a68-1e5b-4bfe-9725-96bbf22c5756"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/78bf4a68-1e5b-4bfe-9725-96bbf22c5756"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/78bf4a68-1e5b-4bfe-9725-96bbf22c5756"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/78bf4a68-1e5b-4bfe-9725-96bbf22c5756"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/78bf4a68-1e5b-4bfe-9725-96bbf22c5756"},"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/78bf4a68-1e5b-4bfe-9725-96bbf22c5756"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":338,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:19Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":338,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.139543,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:19Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8f5d8d83-81da-46b1-8476-bad41a0b4b15","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/8f5d8d83-81da-46b1-8476-bad41a0b4b15","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454538,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUzOH0.UuqXuIfQsNVZRJTe9X_S7wdWKMpRZK4WwrFSLPn-nGU"} 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":"c6fe9240-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:50162","level":"info","msg":"Received request.","req_id":339,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:19Z"} authorization_1 | {"client_addr":"127.0.0.1:50162","level":"info","msg":"Sent response.","req_id":339,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.443593,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:19Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/73f27556-cd96-4748-9755-0c2b6bfce9a0","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/73f27556-cd96-4748-9755-0c2b6bfce9a0","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454538,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUzOH0.UuqXuIfQsNVZRJTe9X_S7wdWKMpRZK4WwrFSLPn-nGU"} 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":"c6fee060-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f5d8d83-81da-46b1-8476-bad41a0b4b15","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f5d8d83-81da-46b1-8476-bad41a0b4b15","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:17.083592544Z"}]},"request_id":"378abecb-41ba-4d4b-a14d-7b6e024bf875","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454539.6345038} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c6fe9240-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73f27556-cd96-4748-9755-0c2b6bfce9a0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73f27556-cd96-4748-9755-0c2b6bfce9a0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:17.594269085Z"}]},"request_id":"36192fe3-2f43-487f-b3e2-3054819bee4e","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454539.6351116} 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":"c6fee060-d01f-11ee-ad1d-cbf3af4d0136"},"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/8f5d8d83-81da-46b1-8476-bad41a0b4b15? 200 20ms","method":"GET","requestID":"c6fe9240-d01f-11ee-ad1d-cbf3af4d0136","responseTime":20,"status":200,"url":"/devices/8f5d8d83-81da-46b1-8476-bad41a0b4b15?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/73f27556-cd96-4748-9755-0c2b6bfce9a0? 200 19ms","method":"GET","requestID":"c6fee060-d01f-11ee-ad1d-cbf3af4d0136","responseTime":19,"status":200,"url":"/devices/73f27556-cd96-4748-9755-0c2b6bfce9a0?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":340,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:19Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":340,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.88713,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:19Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/8f5d8d83-81da-46b1-8476-bad41a0b4b15","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8f5d8d83-81da-46b1-8476-bad41a0b4b15","object_type":"device","rebac_allow":false,"scope_allow":false,"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":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c70214b0-d01f-11ee-ad1d-cbf3af4d0136"},"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/8f5d8d83-81da-46b1-8476-bad41a0b4b15/signaling 200 8ms","method":"POST","requestID":"c70214b0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":8,"status":200,"url":"/devices/8f5d8d83-81da-46b1-8476-bad41a0b4b15/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":341,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:19Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":341,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.72938,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:19Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/73f27556-cd96-4748-9755-0c2b6bfce9a0","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/73f27556-cd96-4748-9755-0c2b6bfce9a0","object_type":"device","rebac_allow":false,"scope_allow":false,"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":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c703c260-d01f-11ee-ad1d-cbf3af4d0136"},"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/73f27556-cd96-4748-9755-0c2b6bfce9a0/signaling 200 8ms","method":"POST","requestID":"c703c260-d01f-11ee-ad1d-cbf3af4d0136","responseTime":8,"status":200,"url":"/devices/73f27556-cd96-4748-9755-0c2b6bfce9a0/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/78bf4a68-1e5b-4bfe-9725-96bbf22c5756"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/78bf4a68-1e5b-4bfe-9725-96bbf22c5756"},"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":"be9512da-1069-4d32-80a5-a892dfc12437"},{"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":"fca054a9-15d0-45f4-a000-bbfbb3d897fe"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"18283d9d-e8d6-4284-8808-1387d2777d25"}]},"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/8f5d8d83-81da-46b1-8476-bad41a0b4b15"},{"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/73f27556-cd96-4748-9755-0c2b6bfce9a0"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":342,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:19Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":342,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.871775,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:19Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454538,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUzOH0.UuqXuIfQsNVZRJTe9X_S7wdWKMpRZK4WwrFSLPn-nGU"} 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":"c7057010-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F78bf4a68-1e5b-4bfe-9725-96bbf22c5756#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F78bf4a68-1e5b-4bfe-9725-96bbf22c5756","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"0aa3b6ab-4404-43a0-a663-1fc3ad0eaefc","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454539.7789533} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6aed62d2-42c7-4619-9436-040e2bc35e2b","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454539.779398} authorization_1 | {"level":"info","message":"POST /relations/update 200 154ms","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":"2e249aa677b9536983d0216aaa4f13d6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":154}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","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%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"9e62428d-2861-4a88-94ce-c5541e8ac5d3","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454539.780806} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c15fc2c4-0ee6-48c1-b9e2-a7e902979da6","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454539.7814739} authorization_1 | {"level":"info","message":"POST /relations/update 200 110ms","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":"c7057010-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":110}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/78bf4a68-1e5b-4bfe-9725-96bbf22c5756","user":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 836ms","method":"POST","requestID":"2e249aa677b9536983d0216aaa4f13d6","responseTime":836,"status":201,"url":"/experiments?"} gateway_1 | {"time_local":"20/Feb/2024:18:42:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1295","request_time":"0.843","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2e249aa677b9536983d0216aaa4f13d6"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUzOX0.2p3QBETDS48EODcZFqFqlAlo60wVU7ux6Bqswvk34u4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e05a8723963125580ca447174dbc9b66","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":343,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:19Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":343,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.075504,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:19Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8f5d8d83-81da-46b1-8476-bad41a0b4b15","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/8f5d8d83-81da-46b1-8476-bad41a0b4b15","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454539,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUzOX0.2p3QBETDS48EODcZFqFqlAlo60wVU7ux6Bqswvk34u4"} 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":"e05a8723963125580ca447174dbc9b66"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f5d8d83-81da-46b1-8476-bad41a0b4b15","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f5d8d83-81da-46b1-8476-bad41a0b4b15","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:17.083592544Z"}]},"request_id":"322a3294-f664-4a19-a7a8-9c77fb5bd329","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454539.8109658} 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":"e05a8723963125580ca447174dbc9b66"},"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/c4da2d30-20d5-4f4c-9447-9068cae9d00f'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/c4da2d30-20d5-4f4c-9447-9068cae9d00f'"} 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 275ms","method":"POST","requestID":"c7057010-d01f-11ee-ad1d-cbf3af4d0136","responseTime":275,"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":"20/Feb/2024:18:42:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8f5d8d83-81da-46b1-8476-bad41a0b4b15? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.147","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e05a8723963125580ca447174dbc9b66"} device_1 | {"level":"info","message":"GET /devices/8f5d8d83-81da-46b1-8476-bad41a0b4b15? 200 142ms","method":"GET","requestID":"e05a8723963125580ca447174dbc9b66","responseTime":142,"status":200,"url":"/devices/8f5d8d83-81da-46b1-8476-bad41a0b4b15?"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUzOX0.2p3QBETDS48EODcZFqFqlAlo60wVU7ux6Bqswvk34u4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"46590cf7c4d02340d69f861f405f8a37","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":344,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:19Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":344,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.772538,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:19Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/73f27556-cd96-4748-9755-0c2b6bfce9a0","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/73f27556-cd96-4748-9755-0c2b6bfce9a0","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454539,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDUzOX0.2p3QBETDS48EODcZFqFqlAlo60wVU7ux6Bqswvk34u4"} 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":"46590cf7c4d02340d69f861f405f8a37"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73f27556-cd96-4748-9755-0c2b6bfce9a0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F73f27556-cd96-4748-9755-0c2b6bfce9a0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:17.594269085Z"}]},"request_id":"0c0965c4-12a5-4c10-942b-9513e606bdd9","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454539.9681556} 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":"46590cf7c4d02340d69f861f405f8a37"},"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":"20/Feb/2024:18:42:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/73f27556-cd96-4748-9755-0c2b6bfce9a0? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.028","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"46590cf7c4d02340d69f861f405f8a37"} device_1 | {"level":"info","message":"GET /devices/73f27556-cd96-4748-9755-0c2b6bfce9a0? 200 21ms","method":"GET","requestID":"46590cf7c4d02340d69f861f405f8a37","responseTime":21,"status":200,"url":"/devices/73f27556-cd96-4748-9755-0c2b6bfce9a0?"} device_1 | {"data":{"peerconnection":"c4da2d30-20d5-4f4c-9447-9068cae9d00f","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"c4da2d30-20d5-4f4c-9447-9068cae9d00f","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/c4da2d30-20d5-4f4c-9447-9068cae9d00f' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"c4da2d30-20d5-4f4c-9447-9068cae9d00f","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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c107e0f99efcd93db82ffed476561729","responseTime":1,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/8f5d8d83-81da-46b1-8476-bad41a0b4b15"},{"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/73f27556-cd96-4748-9755-0c2b6bfce9a0"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/c4da2d30-20d5-4f4c-9447-9068cae9d00f"}}},"level":"info","message":"received a callback"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU0MH0.belGWycgI7E60fsbfkzouxnKX3FcHx-B1Xod4A9TSNQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8337031e516517ff37f853d7a35a4c78","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/78bf4a68-1e5b-4bfe-9725-96bbf22c5756"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":345,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:20Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":345,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.899904,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:20Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/78bf4a68-1e5b-4bfe-9725-96bbf22c5756","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/78bf4a68-1e5b-4bfe-9725-96bbf22c5756","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454540,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU0MH0.belGWycgI7E60fsbfkzouxnKX3FcHx-B1Xod4A9TSNQ"} 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":"8337031e516517ff37f853d7a35a4c78"},"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/78bf4a68-1e5b-4bfe-9725-96bbf22c5756"} gateway_1 | {"time_local":"20/Feb/2024:18:42:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/78bf4a68-1e5b-4bfe-9725-96bbf22c5756 HTTP/1.1","status": "200","body_bytes_sent":"1366","request_time":"0.032","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8337031e516517ff37f853d7a35a4c78"} experiment_1 | {"level":"info","message":"GET /experiments/78bf4a68-1e5b-4bfe-9725-96bbf22c5756 200 24ms","method":"GET","requestID":"8337031e516517ff37f853d7a35a4c78","responseTime":24,"status":200,"url":"/experiments/78bf4a68-1e5b-4bfe-9725-96bbf22c5756"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 167ms","method":"POST","requestID":"c107e0f99efcd93db82ffed476561729","responseTime":167,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:42:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.169","http_referrer":"","http_user_agent":"node-fetch","requestID":"c107e0f99efcd93db82ffed476561729"} device_1 | {"data":{"peerconnection":"c4da2d30-20d5-4f4c-9447-9068cae9d00f","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU0MH0.belGWycgI7E60fsbfkzouxnKX3FcHx-B1Xod4A9TSNQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4d9aff75af1ca25cb128c341a3a4f0c2","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/78bf4a68-1e5b-4bfe-9725-96bbf22c5756"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":346,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:20Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":346,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.335439,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:20Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/78bf4a68-1e5b-4bfe-9725-96bbf22c5756","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/78bf4a68-1e5b-4bfe-9725-96bbf22c5756","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454540,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU0MH0.belGWycgI7E60fsbfkzouxnKX3FcHx-B1Xod4A9TSNQ"} 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":"4d9aff75af1ca25cb128c341a3a4f0c2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/78bf4a68-1e5b-4bfe-9725-96bbf22c5756"},"level":"info","message":"Successfully created peerconnections for experiment"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/78bf4a68-1e5b-4bfe-9725-96bbf22c5756"} gateway_1 | {"time_local":"20/Feb/2024:18:42:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/78bf4a68-1e5b-4bfe-9725-96bbf22c5756 HTTP/1.1","status": "200","body_bytes_sent":"1366","request_time":"0.124","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4d9aff75af1ca25cb128c341a3a4f0c2"} experiment_1 | {"level":"info","message":"GET /experiments/78bf4a68-1e5b-4bfe-9725-96bbf22c5756 200 118ms","method":"GET","requestID":"4d9aff75af1ca25cb128c341a3a4f0c2","responseTime":118,"status":200,"url":"/experiments/78bf4a68-1e5b-4bfe-9725-96bbf22c5756"} device_1 | {"data":{"peerconnection":"c4da2d30-20d5-4f4c-9447-9068cae9d00f","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU0MH0.belGWycgI7E60fsbfkzouxnKX3FcHx-B1Xod4A9TSNQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"609a58d02f1559eb39154244e3165764","responseTime":3,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/78bf4a68-1e5b-4bfe-9725-96bbf22c5756"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":347,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:20Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":347,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.861953,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:20Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/78bf4a68-1e5b-4bfe-9725-96bbf22c5756","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/78bf4a68-1e5b-4bfe-9725-96bbf22c5756","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454540,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU0MH0.belGWycgI7E60fsbfkzouxnKX3FcHx-B1Xod4A9TSNQ"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"609a58d02f1559eb39154244e3165764"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/78bf4a68-1e5b-4bfe-9725-96bbf22c5756"} gateway_1 | {"time_local":"20/Feb/2024:18:42:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/78bf4a68-1e5b-4bfe-9725-96bbf22c5756 HTTP/1.1","status": "200","body_bytes_sent":"1366","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"609a58d02f1559eb39154244e3165764"} experiment_1 | {"level":"info","message":"GET /experiments/78bf4a68-1e5b-4bfe-9725-96bbf22c5756 200 17ms","method":"GET","requestID":"609a58d02f1559eb39154244e3165764","responseTime":17,"status":200,"url":"/experiments/78bf4a68-1e5b-4bfe-9725-96bbf22c5756"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/c4da2d30-20d5-4f4c-9447-9068cae9d00f' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"c4da2d30-20d5-4f4c-9447-9068cae9d00f","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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"f451c182873619b7b79e08d176ac3fc0","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/8f5d8d83-81da-46b1-8476-bad41a0b4b15"},{"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/73f27556-cd96-4748-9755-0c2b6bfce9a0"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/c4da2d30-20d5-4f4c-9447-9068cae9d00f"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":348,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:20Z"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","contextual_tuples":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc4da2d30-20d5-4f4c-9447-9068cae9d00f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4b21243a-2a28-49cd-bb1d-1a2732df4b52","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454540.5354154} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":348,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.942427,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:20Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c4da2d30-20d5-4f4c-9447-9068cae9d00f","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/c4da2d30-20d5-4f4c-9447-9068cae9d00f","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c7894610-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU0MH0.belGWycgI7E60fsbfkzouxnKX3FcHx-B1Xod4A9TSNQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"3177e2fcab5c62ba8a9c710623342397","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/78bf4a68-1e5b-4bfe-9725-96bbf22c5756"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":349,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:20Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":349,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.343363,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:20Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/78bf4a68-1e5b-4bfe-9725-96bbf22c5756","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/78bf4a68-1e5b-4bfe-9725-96bbf22c5756","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454540,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU0MH0.belGWycgI7E60fsbfkzouxnKX3FcHx-B1Xod4A9TSNQ"} 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":"3177e2fcab5c62ba8a9c710623342397"},"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/78bf4a68-1e5b-4bfe-9725-96bbf22c5756"} gateway_1 | {"time_local":"20/Feb/2024:18:42:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/78bf4a68-1e5b-4bfe-9725-96bbf22c5756 HTTP/1.1","status": "200","body_bytes_sent":"1366","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3177e2fcab5c62ba8a9c710623342397"} experiment_1 | {"level":"info","message":"GET /experiments/78bf4a68-1e5b-4bfe-9725-96bbf22c5756 200 15ms","method":"GET","requestID":"3177e2fcab5c62ba8a9c710623342397","responseTime":15,"status":200,"url":"/experiments/78bf4a68-1e5b-4bfe-9725-96bbf22c5756"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"GET /peerconnections/c4da2d30-20d5-4f4c-9447-9068cae9d00f 200 137ms","method":"GET","requestID":"c7894610-d01f-11ee-ad1d-cbf3af4d0136","responseTime":137,"status":200,"url":"/peerconnections/c4da2d30-20d5-4f4c-9447-9068cae9d00f"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU0MH0.belGWycgI7E60fsbfkzouxnKX3FcHx-B1Xod4A9TSNQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c7c0269ed75783eb90a2bca5804de411","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/78bf4a68-1e5b-4bfe-9725-96bbf22c5756"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":350,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:20Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":350,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.348647,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:20Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/78bf4a68-1e5b-4bfe-9725-96bbf22c5756","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/78bf4a68-1e5b-4bfe-9725-96bbf22c5756","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454540,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU0MH0.belGWycgI7E60fsbfkzouxnKX3FcHx-B1Xod4A9TSNQ"} 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":"c7c0269ed75783eb90a2bca5804de411"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 280ms","method":"POST","requestID":"f451c182873619b7b79e08d176ac3fc0","responseTime":280,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:42:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.283","http_referrer":"","http_user_agent":"node-fetch","requestID":"f451c182873619b7b79e08d176ac3fc0"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/78bf4a68-1e5b-4bfe-9725-96bbf22c5756"} gateway_1 | {"time_local":"20/Feb/2024:18:42:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/78bf4a68-1e5b-4bfe-9725-96bbf22c5756 HTTP/1.1","status": "200","body_bytes_sent":"1368","request_time":"0.071","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c7c0269ed75783eb90a2bca5804de411"} experiment_1 | {"level":"info","message":"GET /experiments/78bf4a68-1e5b-4bfe-9725-96bbf22c5756 200 65ms","method":"GET","requestID":"c7c0269ed75783eb90a2bca5804de411","responseTime":65,"status":200,"url":"/experiments/78bf4a68-1e5b-4bfe-9725-96bbf22c5756"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU0MH0.belGWycgI7E60fsbfkzouxnKX3FcHx-B1Xod4A9TSNQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"dd07bcc28987ce0fa64d565a404b907f","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/78bf4a68-1e5b-4bfe-9725-96bbf22c5756"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":351,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:20Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":351,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.146702,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:20Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/78bf4a68-1e5b-4bfe-9725-96bbf22c5756","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/78bf4a68-1e5b-4bfe-9725-96bbf22c5756","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454540,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU0MH0.belGWycgI7E60fsbfkzouxnKX3FcHx-B1Xod4A9TSNQ"} 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":"dd07bcc28987ce0fa64d565a404b907f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/78bf4a68-1e5b-4bfe-9725-96bbf22c5756"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":352,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:20Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":352,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.400043,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:20Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c4da2d30-20d5-4f4c-9447-9068cae9d00f","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"peerconnection:http://localhost/peerconnections/c4da2d30-20d5-4f4c-9447-9068cae9d00f","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454540,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU0MH0.belGWycgI7E60fsbfkzouxnKX3FcHx-B1Xod4A9TSNQ"} 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":"c7b75af0-d01f-11ee-ad1d-cbf3af4d0136"},"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/c4da2d30-20d5-4f4c-9447-9068cae9d00f' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/c4da2d30-20d5-4f4c-9447-9068cae9d00f' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"c4da2d30-20d5-4f4c-9447-9068cae9d00f","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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"43db4697d63bc033b79fe94b48efd346","responseTime":1,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/8f5d8d83-81da-46b1-8476-bad41a0b4b15"},{"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/73f27556-cd96-4748-9755-0c2b6bfce9a0"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c4da2d30-20d5-4f4c-9447-9068cae9d00f"}}},"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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"1baa834e56f4d6894f4631bc0a98f66f","responseTime":1,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/8f5d8d83-81da-46b1-8476-bad41a0b4b15"},{"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/73f27556-cd96-4748-9755-0c2b6bfce9a0"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c4da2d30-20d5-4f4c-9447-9068cae9d00f"}}},"level":"info","message":"received a callback"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc4da2d30-20d5-4f4c-9447-9068cae9d00f': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc4da2d30-20d5-4f4c-9447-9068cae9d00f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]},"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":null},"raw_response":{},"request_id":"23f1b1a2-a28b-416d-bd01-43a5eb620841","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454540.857222} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"39528136-b3e4-47bf-b59f-afd737e9c458","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454540.8573961} 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":"c7b75af0-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} device_1 | {"data":{"peerconnection":"c4da2d30-20d5-4f4c-9447-9068cae9d00f","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/c4da2d30-20d5-4f4c-9447-9068cae9d00f 204 271ms","method":"DELETE","requestID":"c7b75af0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":271,"status":204,"url":"/peerconnections/c4da2d30-20d5-4f4c-9447-9068cae9d00f"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/78bf4a68-1e5b-4bfe-9725-96bbf22c5756"},"level":"info","message":"Successfully finished experiment"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F78bf4a68-1e5b-4bfe-9725-96bbf22c5756': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F78bf4a68-1e5b-4bfe-9725-96bbf22c5756","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]},"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":null},"raw_response":{},"request_id":"4d111aa1-6ca3-4cc8-823e-cb50f03e9612","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454541.381432} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"56ee1cb1-ac34-4126-816e-f1080eb9959a","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454541.381886} authorization_1 | {"level":"info","message":"POST /relations/update 200 140ms","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":"dd07bcc28987ce0fa64d565a404b907f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":140}} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/78bf4a68-1e5b-4bfe-9725-96bbf22c5756"} gateway_1 | {"time_local":"20/Feb/2024:18:42:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/78bf4a68-1e5b-4bfe-9725-96bbf22c5756 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"1.315","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dd07bcc28987ce0fa64d565a404b907f"} gateway_1 | {"time_local":"20/Feb/2024:18:42:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1760","request_time":"3.476","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"f9fcf8118c35e12d0d6ac07e3c1745a3"} gateway_1 | {"time_local":"20/Feb/2024:18:42:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1762","request_time":"3.602","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"e6f45b53acdf6e989fb859f685f5265b"} experiment_1 | {"level":"info","message":"DELETE /experiments/78bf4a68-1e5b-4bfe-9725-96bbf22c5756 204 1313ms","method":"DELETE","requestID":"dd07bcc28987ce0fa64d565a404b907f","responseTime":1313,"status":204,"url":"/experiments/78bf4a68-1e5b-4bfe-9725-96bbf22c5756"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1278ms","method":"POST","requestID":"43db4697d63bc033b79fe94b48efd346","responseTime":1278,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:42: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":"1.281","http_referrer":"","http_user_agent":"node-fetch","requestID":"43db4697d63bc033b79fe94b48efd346"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1276ms","method":"POST","requestID":"1baa834e56f4d6894f4631bc0a98f66f","responseTime":1276,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:42: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":"1.283","http_referrer":"","http_user_agent":"node-fetch","requestID":"1baa834e56f4d6894f4631bc0a98f66f"} device_1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/8f5d8d83-81da-46b1-8476-bad41a0b4b15' closed"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU0Mn0.zm_6kjXB7q8pJOdSBvg_4M_IfA6sVaSbC2z_8udxZms","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9296fe2fd226914f7239694098f06d76","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":353,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:22Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":353,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.809183,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:22Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454542,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU0Mn0.zm_6kjXB7q8pJOdSBvg_4M_IfA6sVaSbC2z_8udxZms"} 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":"9296fe2fd226914f7239694098f06d76"},"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/73f27556-cd96-4748-9755-0c2b6bfce9a0' 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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea0a5617-e2b5-44ef-b40b-b11c4732d0c5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"3960c72b-4a65-43ca-9598-ba50186ef8cd","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454542.697278} 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":"9296fe2fd226914f7239694098f06d76"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3786e3ac-065d-47f8-a8c2-dddf70a9eb06","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454542.7055311} 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":"9296fe2fd226914f7239694098f06d76"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea0a5617-e2b5-44ef-b40b-b11c4732d0c5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"4802b62b-002a-410d-9dca-df020b4eefb9","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454542.845204} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7afae3cc-a540-410b-ad5c-d1f6cf471f30","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454542.8454866} authorization_1 | {"level":"info","message":"POST /relations/update 200 143ms","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":"9296fe2fd226914f7239694098f06d76"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":143}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea0a5617-e2b5-44ef-b40b-b11c4732d0c5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea0a5617-e2b5-44ef-b40b-b11c4732d0c5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:22.845173487Z"}]},"request_id":"e4e3c81c-da3c-4e0f-ac29-c60bf1dae24e","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454542.8517056} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9296fe2fd226914f7239694098f06d76"},"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 713ms","method":"POST","requestID":"9296fe2fd226914f7239694098f06d76","responseTime":713,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"20/Feb/2024:18:42:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.720","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9296fe2fd226914f7239694098f06d76"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU0Mn0.zm_6kjXB7q8pJOdSBvg_4M_IfA6sVaSbC2z_8udxZms","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"de1ddfcbb56bd57808b8963138baac2f","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":354,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:22Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":354,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.176743,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:22Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454542,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU0Mn0.zm_6kjXB7q8pJOdSBvg_4M_IfA6sVaSbC2z_8udxZms"} 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":"de1ddfcbb56bd57808b8963138baac2f"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fda5162b6-bf96-4837-9b2a-f2e1eb2e2712","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"2ace6fea-9620-400a-bdc9-f8a4e39e3abe","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454543.0633245} 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":"de1ddfcbb56bd57808b8963138baac2f"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"08bfba73-3455-438d-8463-156748591897","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454543.071996} 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":"de1ddfcbb56bd57808b8963138baac2f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fda5162b6-bf96-4837-9b2a-f2e1eb2e2712","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"99cad17e-2fe9-4d4b-a554-f6a9beb8b58e","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454543.263174} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b9fcc719-cbec-4349-a3fe-43f09b3c319c","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454543.2635942} authorization_1 | {"level":"info","message":"POST /relations/update 200 194ms","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":"de1ddfcbb56bd57808b8963138baac2f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":194}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fda5162b6-bf96-4837-9b2a-f2e1eb2e2712","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fda5162b6-bf96-4837-9b2a-f2e1eb2e2712","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:23.263147716Z"}]},"request_id":"113b1eed-ff14-4781-b2a7-d4edab56499c","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454543.2709053} 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":"de1ddfcbb56bd57808b8963138baac2f"},"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 413ms","method":"POST","requestID":"de1ddfcbb56bd57808b8963138baac2f","responseTime":413,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"20/Feb/2024:18:42:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.450","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"de1ddfcbb56bd57808b8963138baac2f"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"c8415a54133786b59eaefd0c8a5867c5","responseTime":2,"status":200,"url":"/auth"} gateway_1 | {"time_local":"20/Feb/2024:18:42:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/ea0a5617-e2b5-44ef-b40b-b11c4732d0c5/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":"c8415a54133786b59eaefd0c8a5867c5"} device_1 | {"level":"info","message":"OPTIONS /devices/ea0a5617-e2b5-44ef-b40b-b11c4732d0c5/websocket 200 1ms","method":"OPTIONS","requestID":"c8415a54133786b59eaefd0c8a5867c5","responseTime":1,"status":200,"url":"/devices/ea0a5617-e2b5-44ef-b40b-b11c4732d0c5/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU0NX0.ZgYrpa9bTRjTCGGH-B05KCXq0aLHDYHkCZztWnl4wyA","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"812710163ce2ac29daa413cee6634e21","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":355,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:25Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":355,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.037174,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:25Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea0a5617-e2b5-44ef-b40b-b11c4732d0c5","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/ea0a5617-e2b5-44ef-b40b-b11c4732d0c5","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454545,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU0NX0.ZgYrpa9bTRjTCGGH-B05KCXq0aLHDYHkCZztWnl4wyA"} 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":"812710163ce2ac29daa413cee6634e21"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d2b01a55c47964c312a77792e9cde1f9","responseTime":1,"status":200,"url":"/auth"} gateway_1 | {"time_local":"20/Feb/2024:18:42:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/da5162b6-bf96-4837-9b2a-f2e1eb2e2712/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":"d2b01a55c47964c312a77792e9cde1f9"} device_1 | {"level":"info","message":"OPTIONS /devices/da5162b6-bf96-4837-9b2a-f2e1eb2e2712/websocket 200 1ms","method":"OPTIONS","requestID":"d2b01a55c47964c312a77792e9cde1f9","responseTime":1,"status":200,"url":"/devices/da5162b6-bf96-4837-9b2a-f2e1eb2e2712/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU0NX0.ZgYrpa9bTRjTCGGH-B05KCXq0aLHDYHkCZztWnl4wyA","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ba9d44e41e4c0ddf85b5bb168497d111","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":356,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:25Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":356,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.102031,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:25Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/da5162b6-bf96-4837-9b2a-f2e1eb2e2712","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/da5162b6-bf96-4837-9b2a-f2e1eb2e2712","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454545,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU0NX0.ZgYrpa9bTRjTCGGH-B05KCXq0aLHDYHkCZztWnl4wyA"} 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":"ba9d44e41e4c0ddf85b5bb168497d111"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device_1 | {"level":"info","message":"POST /devices/ea0a5617-e2b5-44ef-b40b-b11c4732d0c5/websocket 200 167ms","method":"POST","requestID":"812710163ce2ac29daa413cee6634e21","responseTime":167,"status":200,"url":"/devices/ea0a5617-e2b5-44ef-b40b-b11c4732d0c5/websocket"} gateway_1 | {"time_local":"20/Feb/2024:18:42:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/ea0a5617-e2b5-44ef-b40b-b11c4732d0c5/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.173","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"812710163ce2ac29daa413cee6634e21"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"20/Feb/2024:18:42:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/da5162b6-bf96-4837-9b2a-f2e1eb2e2712/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.276","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"ba9d44e41e4c0ddf85b5bb168497d111"} device_1 | {"level":"info","message":"POST /devices/da5162b6-bf96-4837-9b2a-f2e1eb2e2712/websocket 200 271ms","method":"POST","requestID":"ba9d44e41e4c0ddf85b5bb168497d111","responseTime":271,"status":200,"url":"/devices/da5162b6-bf96-4837-9b2a-f2e1eb2e2712/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/ea0a5617-e2b5-44ef-b40b-b11c4732d0c5' connected"} device_1 | {"level":"info","message":"device 'http://localhost/devices/da5162b6-bf96-4837-9b2a-f2e1eb2e2712' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU0NX0.ZgYrpa9bTRjTCGGH-B05KCXq0aLHDYHkCZztWnl4wyA","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"32939e6946521fed6751a78f2ce209a6","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":357,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:25Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":357,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.347374,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:25Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea0a5617-e2b5-44ef-b40b-b11c4732d0c5","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/ea0a5617-e2b5-44ef-b40b-b11c4732d0c5","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454545,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU0NX0.ZgYrpa9bTRjTCGGH-B05KCXq0aLHDYHkCZztWnl4wyA"} 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":"32939e6946521fed6751a78f2ce209a6"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea0a5617-e2b5-44ef-b40b-b11c4732d0c5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea0a5617-e2b5-44ef-b40b-b11c4732d0c5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:22.845173487Z"}]},"request_id":"dabd139b-4693-44fb-9248-7d67b667211d","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454545.804017} 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":"32939e6946521fed6751a78f2ce209a6"},"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":"20/Feb/2024:18:42:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ea0a5617-e2b5-44ef-b40b-b11c4732d0c5? 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":"32939e6946521fed6751a78f2ce209a6"} device_1 | {"level":"info","message":"GET /devices/ea0a5617-e2b5-44ef-b40b-b11c4732d0c5? 200 20ms","method":"GET","requestID":"32939e6946521fed6751a78f2ce209a6","responseTime":20,"status":200,"url":"/devices/ea0a5617-e2b5-44ef-b40b-b11c4732d0c5?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU0NX0.ZgYrpa9bTRjTCGGH-B05KCXq0aLHDYHkCZztWnl4wyA","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"979a032f3a0756b6af9851799adb5a16","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":358,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:25Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":358,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.006055,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:25Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/da5162b6-bf96-4837-9b2a-f2e1eb2e2712","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/da5162b6-bf96-4837-9b2a-f2e1eb2e2712","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454545,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU0NX0.ZgYrpa9bTRjTCGGH-B05KCXq0aLHDYHkCZztWnl4wyA"} 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":"979a032f3a0756b6af9851799adb5a16"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fda5162b6-bf96-4837-9b2a-f2e1eb2e2712","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fda5162b6-bf96-4837-9b2a-f2e1eb2e2712","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:23.263147716Z"}]},"request_id":"90829b3c-165e-4bd5-a3bb-89de422cca57","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454545.8279505} 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":"979a032f3a0756b6af9851799adb5a16"},"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":"20/Feb/2024:18:42:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/da5162b6-bf96-4837-9b2a-f2e1eb2e2712? 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":"979a032f3a0756b6af9851799adb5a16"} device_1 | {"level":"info","message":"GET /devices/da5162b6-bf96-4837-9b2a-f2e1eb2e2712? 200 17ms","method":"GET","requestID":"979a032f3a0756b6af9851799adb5a16","responseTime":17,"status":200,"url":"/devices/da5162b6-bf96-4837-9b2a-f2e1eb2e2712?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU0NX0.ZgYrpa9bTRjTCGGH-B05KCXq0aLHDYHkCZztWnl4wyA","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"dad297b2de1ce478b5a898cf721f59a5","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:48424","level":"info","msg":"Received request.","req_id":359,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:25Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":359,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.533556,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:25Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454545,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU0NX0.ZgYrpa9bTRjTCGGH-B05KCXq0aLHDYHkCZztWnl4wyA"} 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":"dad297b2de1ce478b5a898cf721f59a5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8d96286c-c582-49ab-9783-ec75ffb8050d"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8d96286c-c582-49ab-9783-ec75ffb8050d"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8d96286c-c582-49ab-9783-ec75ffb8050d"},"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:48424","level":"info","msg":"Received request.","req_id":360,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:26Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":360,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.093931,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:26Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea0a5617-e2b5-44ef-b40b-b11c4732d0c5","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/ea0a5617-e2b5-44ef-b40b-b11c4732d0c5","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454545,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU0NX0.ZgYrpa9bTRjTCGGH-B05KCXq0aLHDYHkCZztWnl4wyA"} 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":"cadb5740-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"client_addr":"127.0.0.1:50172","level":"info","msg":"Received request.","req_id":361,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:26Z"} authorization_1 | {"client_addr":"127.0.0.1:50172","level":"info","msg":"Sent response.","req_id":361,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.044663,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:26Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/da5162b6-bf96-4837-9b2a-f2e1eb2e2712","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/da5162b6-bf96-4837-9b2a-f2e1eb2e2712","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454545,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU0NX0.ZgYrpa9bTRjTCGGH-B05KCXq0aLHDYHkCZztWnl4wyA"} 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":"cadbcc70-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea0a5617-e2b5-44ef-b40b-b11c4732d0c5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea0a5617-e2b5-44ef-b40b-b11c4732d0c5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:22.845173487Z"}]},"request_id":"ced5cd21-ab12-4cfe-96cd-ea2fafa741dd","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454546.1150315} 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":"cadb5740-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fda5162b6-bf96-4837-9b2a-f2e1eb2e2712","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fda5162b6-bf96-4837-9b2a-f2e1eb2e2712","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:23.263147716Z"}]},"request_id":"b15b6b23-9135-4d23-ad3a-067848cfaf99","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454546.1213787} device_1 | {"level":"info","message":"GET /devices/ea0a5617-e2b5-44ef-b40b-b11c4732d0c5? 200 21ms","method":"GET","requestID":"cadb5740-d01f-11ee-ad1d-cbf3af4d0136","responseTime":21,"status":200,"url":"/devices/ea0a5617-e2b5-44ef-b40b-b11c4732d0c5?"} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cadbcc70-d01f-11ee-ad1d-cbf3af4d0136"},"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/da5162b6-bf96-4837-9b2a-f2e1eb2e2712? 200 23ms","method":"GET","requestID":"cadbcc70-d01f-11ee-ad1d-cbf3af4d0136","responseTime":23,"status":200,"url":"/devices/da5162b6-bf96-4837-9b2a-f2e1eb2e2712?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8d96286c-c582-49ab-9783-ec75ffb8050d"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8d96286c-c582-49ab-9783-ec75ffb8050d"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8d96286c-c582-49ab-9783-ec75ffb8050d"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8d96286c-c582-49ab-9783-ec75ffb8050d"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8d96286c-c582-49ab-9783-ec75ffb8050d"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8d96286c-c582-49ab-9783-ec75ffb8050d"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8d96286c-c582-49ab-9783-ec75ffb8050d"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8d96286c-c582-49ab-9783-ec75ffb8050d"},"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:48424","level":"info","msg":"Received request.","req_id":362,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:26Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":362,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.145092,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:26Z"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8d96286c-c582-49ab-9783-ec75ffb8050d"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea0a5617-e2b5-44ef-b40b-b11c4732d0c5","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/ea0a5617-e2b5-44ef-b40b-b11c4732d0c5","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454545,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU0NX0.ZgYrpa9bTRjTCGGH-B05KCXq0aLHDYHkCZztWnl4wyA"} 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":"cb235cc0-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:50172","level":"info","msg":"Received request.","req_id":363,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:26Z"} authorization_1 | {"client_addr":"127.0.0.1:50172","level":"info","msg":"Sent response.","req_id":363,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.609195,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:26Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/da5162b6-bf96-4837-9b2a-f2e1eb2e2712","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/da5162b6-bf96-4837-9b2a-f2e1eb2e2712","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454545,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU0NX0.ZgYrpa9bTRjTCGGH-B05KCXq0aLHDYHkCZztWnl4wyA"} 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":"cb23aae0-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea0a5617-e2b5-44ef-b40b-b11c4732d0c5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea0a5617-e2b5-44ef-b40b-b11c4732d0c5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:22.845173487Z"}]},"request_id":"eadfa6aa-6a96-4d2f-90f6-4c0f13331b6c","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454546.5854225} 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":"cb235cc0-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fda5162b6-bf96-4837-9b2a-f2e1eb2e2712","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fda5162b6-bf96-4837-9b2a-f2e1eb2e2712","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:23.263147716Z"}]},"request_id":"11db539b-2308-4ce9-a26d-540865e262f5","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454546.5865853} 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":"cb23aae0-d01f-11ee-ad1d-cbf3af4d0136"},"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/ea0a5617-e2b5-44ef-b40b-b11c4732d0c5? 200 20ms","method":"GET","requestID":"cb235cc0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":20,"status":200,"url":"/devices/ea0a5617-e2b5-44ef-b40b-b11c4732d0c5?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/da5162b6-bf96-4837-9b2a-f2e1eb2e2712? 200 19ms","method":"GET","requestID":"cb23aae0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":19,"status":200,"url":"/devices/da5162b6-bf96-4837-9b2a-f2e1eb2e2712?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":364,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:26Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":364,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.876927,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:26Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea0a5617-e2b5-44ef-b40b-b11c4732d0c5","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ea0a5617-e2b5-44ef-b40b-b11c4732d0c5","object_type":"device","rebac_allow":false,"scope_allow":false,"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":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cb270640-d01f-11ee-ad1d-cbf3af4d0136"},"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/ea0a5617-e2b5-44ef-b40b-b11c4732d0c5/signaling 200 7ms","method":"POST","requestID":"cb270640-d01f-11ee-ad1d-cbf3af4d0136","responseTime":7,"status":200,"url":"/devices/ea0a5617-e2b5-44ef-b40b-b11c4732d0c5/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":365,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:26Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":365,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.918543,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:26Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/da5162b6-bf96-4837-9b2a-f2e1eb2e2712","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/da5162b6-bf96-4837-9b2a-f2e1eb2e2712","object_type":"device","rebac_allow":false,"scope_allow":false,"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":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cb288ce0-d01f-11ee-ad1d-cbf3af4d0136"},"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/da5162b6-bf96-4837-9b2a-f2e1eb2e2712/signaling 200 8ms","method":"POST","requestID":"cb288ce0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":8,"status":200,"url":"/devices/da5162b6-bf96-4837-9b2a-f2e1eb2e2712/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8d96286c-c582-49ab-9783-ec75ffb8050d"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8d96286c-c582-49ab-9783-ec75ffb8050d"},"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":"88d7484d-7d45-4efa-b424-4a9fcd235838"},{"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":"7f967a6f-a5bc-43b6-9a9c-438ca00aa1f2"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"636e129e-649e-42d6-b091-4958b1969e01"}]},"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/ea0a5617-e2b5-44ef-b40b-b11c4732d0c5"},{"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/da5162b6-bf96-4837-9b2a-f2e1eb2e2712"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":366,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:26Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":366,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.989761,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:26Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454545,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU0NX0.ZgYrpa9bTRjTCGGH-B05KCXq0aLHDYHkCZztWnl4wyA"} 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":"cb2a61a0-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8d96286c-c582-49ab-9783-ec75ffb8050d#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8d96286c-c582-49ab-9783-ec75ffb8050d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"a23cb9e0-9ccf-4c96-80da-6395f1119a69","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454546.746232} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8df314c8-5e60-4808-876c-cf3381c08a77","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454546.7469025} authorization_1 | {"level":"info","message":"POST /relations/update 200 170ms","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":"dad297b2de1ce478b5a898cf721f59a5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":170}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","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%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"4a0b5b8c-58a2-40d7-8b01-936e2552a76f","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454546.7525702} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5425b63a-b504-46f1-931b-21d4a58af813","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454546.7530472} authorization_1 | {"level":"info","message":"POST /relations/update 200 126ms","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":"cb2a61a0-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":126}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/8d96286c-c582-49ab-9783-ec75ffb8050d","user":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 922ms","method":"POST","requestID":"dad297b2de1ce478b5a898cf721f59a5","responseTime":922,"status":201,"url":"/experiments?"} gateway_1 | {"time_local":"20/Feb/2024:18:42:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1211","request_time":"0.930","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dad297b2de1ce478b5a898cf721f59a5"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU0Nn0.-17Kc0sklur1u3_xjP_iafgRMqPwNscHirl_eUlGaEo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"eac5e582a48a06d769b1ab5b9f4a7694","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":367,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:26Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":367,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.737972,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:26Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea0a5617-e2b5-44ef-b40b-b11c4732d0c5","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/ea0a5617-e2b5-44ef-b40b-b11c4732d0c5","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454546,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU0Nn0.-17Kc0sklur1u3_xjP_iafgRMqPwNscHirl_eUlGaEo"} 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":"eac5e582a48a06d769b1ab5b9f4a7694"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea0a5617-e2b5-44ef-b40b-b11c4732d0c5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea0a5617-e2b5-44ef-b40b-b11c4732d0c5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:22.845173487Z"}]},"request_id":"10588154-2e22-459e-8414-1aac9d1d99b5","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454546.7791698} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"eac5e582a48a06d769b1ab5b9f4a7694"},"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/cd48a6c6-4fbf-4d7b-9799-f126175a3691'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/cd48a6c6-4fbf-4d7b-9799-f126175a3691'"} 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 272ms","method":"POST","requestID":"cb2a61a0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":272,"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":"20/Feb/2024:18:42:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ea0a5617-e2b5-44ef-b40b-b11c4732d0c5? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.126","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"eac5e582a48a06d769b1ab5b9f4a7694"} device_1 | {"level":"info","message":"GET /devices/ea0a5617-e2b5-44ef-b40b-b11c4732d0c5? 200 121ms","method":"GET","requestID":"eac5e582a48a06d769b1ab5b9f4a7694","responseTime":121,"status":200,"url":"/devices/ea0a5617-e2b5-44ef-b40b-b11c4732d0c5?"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU0Nn0.-17Kc0sklur1u3_xjP_iafgRMqPwNscHirl_eUlGaEo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"503b63c36779d25ec54858d691fa1be7","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":368,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:26Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":368,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.970841,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:26Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/da5162b6-bf96-4837-9b2a-f2e1eb2e2712","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/da5162b6-bf96-4837-9b2a-f2e1eb2e2712","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454546,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU0Nn0.-17Kc0sklur1u3_xjP_iafgRMqPwNscHirl_eUlGaEo"} 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":"503b63c36779d25ec54858d691fa1be7"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fda5162b6-bf96-4837-9b2a-f2e1eb2e2712","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fda5162b6-bf96-4837-9b2a-f2e1eb2e2712","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:23.263147716Z"}]},"request_id":"00f90871-341e-471f-8a95-8a707a1bff5a","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454546.9104538} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"503b63c36779d25ec54858d691fa1be7"},"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":"20/Feb/2024:18:42:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/da5162b6-bf96-4837-9b2a-f2e1eb2e2712? 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":"503b63c36779d25ec54858d691fa1be7"} device_1 | {"level":"info","message":"GET /devices/da5162b6-bf96-4837-9b2a-f2e1eb2e2712? 200 14ms","method":"GET","requestID":"503b63c36779d25ec54858d691fa1be7","responseTime":14,"status":200,"url":"/devices/da5162b6-bf96-4837-9b2a-f2e1eb2e2712?"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/cd48a6c6-4fbf-4d7b-9799-f126175a3691' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"cd48a6c6-4fbf-4d7b-9799-f126175a3691","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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"18bb0567545419085e009f67c1c26931","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/ea0a5617-e2b5-44ef-b40b-b11c4732d0c5"},{"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/da5162b6-bf96-4837-9b2a-f2e1eb2e2712"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/cd48a6c6-4fbf-4d7b-9799-f126175a3691"}}},"level":"info","message":"received a callback"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8d96286c-c582-49ab-9783-ec75ffb8050d"},"level":"info","message":"Successfully created peerconnections for experiment"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 163ms","method":"POST","requestID":"18bb0567545419085e009f67c1c26931","responseTime":163,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:42:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.166","http_referrer":"","http_user_agent":"node-fetch","requestID":"18bb0567545419085e009f67c1c26931"} device_1 | {"data":{"peerconnection":"cd48a6c6-4fbf-4d7b-9799-f126175a3691","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU0N30.op54ERT9e4hsE4IP94JwE1Qs_XLPnzaOvNN5nsf5_qY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"78e1c0dc04a23a1b69f9c46fb2fc93f9","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/8d96286c-c582-49ab-9783-ec75ffb8050d"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":369,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:27Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":369,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.341778,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:27Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/8d96286c-c582-49ab-9783-ec75ffb8050d","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/8d96286c-c582-49ab-9783-ec75ffb8050d","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454547,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU0N30.op54ERT9e4hsE4IP94JwE1Qs_XLPnzaOvNN5nsf5_qY"} 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":"78e1c0dc04a23a1b69f9c46fb2fc93f9"},"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/8d96286c-c582-49ab-9783-ec75ffb8050d"} gateway_1 | {"time_local":"20/Feb/2024:18:42:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/8d96286c-c582-49ab-9783-ec75ffb8050d HTTP/1.1","status": "200","body_bytes_sent":"1282","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"78e1c0dc04a23a1b69f9c46fb2fc93f9"} experiment_1 | {"level":"info","message":"GET /experiments/8d96286c-c582-49ab-9783-ec75ffb8050d 200 17ms","method":"GET","requestID":"78e1c0dc04a23a1b69f9c46fb2fc93f9","responseTime":17,"status":200,"url":"/experiments/8d96286c-c582-49ab-9783-ec75ffb8050d"} device_1 | {"data":{"peerconnection":"cd48a6c6-4fbf-4d7b-9799-f126175a3691","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU0N30.op54ERT9e4hsE4IP94JwE1Qs_XLPnzaOvNN5nsf5_qY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"99eddcf28d0b8607b16bb84e26fdb908","responseTime":3,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/8d96286c-c582-49ab-9783-ec75ffb8050d"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":370,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:27Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":370,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.933398,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:27Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/8d96286c-c582-49ab-9783-ec75ffb8050d","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/8d96286c-c582-49ab-9783-ec75ffb8050d","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454547,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU0N30.op54ERT9e4hsE4IP94JwE1Qs_XLPnzaOvNN5nsf5_qY"} 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":"99eddcf28d0b8607b16bb84e26fdb908"},"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/8d96286c-c582-49ab-9783-ec75ffb8050d"} gateway_1 | {"time_local":"20/Feb/2024:18:42:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/8d96286c-c582-49ab-9783-ec75ffb8050d HTTP/1.1","status": "200","body_bytes_sent":"1282","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"99eddcf28d0b8607b16bb84e26fdb908"} experiment_1 | {"level":"info","message":"GET /experiments/8d96286c-c582-49ab-9783-ec75ffb8050d 200 11ms","method":"GET","requestID":"99eddcf28d0b8607b16bb84e26fdb908","responseTime":11,"status":200,"url":"/experiments/8d96286c-c582-49ab-9783-ec75ffb8050d"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/cd48a6c6-4fbf-4d7b-9799-f126175a3691' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"cd48a6c6-4fbf-4d7b-9799-f126175a3691","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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"74ebab7d86783dbdf806d6fdbde973df","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/ea0a5617-e2b5-44ef-b40b-b11c4732d0c5"},{"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/da5162b6-bf96-4837-9b2a-f2e1eb2e2712"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/cd48a6c6-4fbf-4d7b-9799-f126175a3691"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":371,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:27Z"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","contextual_tuples":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fcd48a6c6-4fbf-4d7b-9799-f126175a3691","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a94cdf24-0b62-4008-bf7b-404ee70e7738","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454547.5929215} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":371,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.96496,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:27Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/cd48a6c6-4fbf-4d7b-9799-f126175a3691","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/cd48a6c6-4fbf-4d7b-9799-f126175a3691","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 9ms","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":"cbbe1620-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU0N30.op54ERT9e4hsE4IP94JwE1Qs_XLPnzaOvNN5nsf5_qY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"91dcd85dda6246ffb568aed5020b5388","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/8d96286c-c582-49ab-9783-ec75ffb8050d"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":372,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:27Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":372,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.203447,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:27Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/8d96286c-c582-49ab-9783-ec75ffb8050d","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/8d96286c-c582-49ab-9783-ec75ffb8050d","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454547,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU0N30.op54ERT9e4hsE4IP94JwE1Qs_XLPnzaOvNN5nsf5_qY"} 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":"91dcd85dda6246ffb568aed5020b5388"},"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/8d96286c-c582-49ab-9783-ec75ffb8050d"} gateway_1 | {"time_local":"20/Feb/2024:18:42:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/8d96286c-c582-49ab-9783-ec75ffb8050d HTTP/1.1","status": "200","body_bytes_sent":"1282","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"91dcd85dda6246ffb568aed5020b5388"} experiment_1 | {"level":"info","message":"GET /experiments/8d96286c-c582-49ab-9783-ec75ffb8050d 200 18ms","method":"GET","requestID":"91dcd85dda6246ffb568aed5020b5388","responseTime":18,"status":200,"url":"/experiments/8d96286c-c582-49ab-9783-ec75ffb8050d"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"GET /peerconnections/cd48a6c6-4fbf-4d7b-9799-f126175a3691 200 140ms","method":"GET","requestID":"cbbe1620-d01f-11ee-ad1d-cbf3af4d0136","responseTime":140,"status":200,"url":"/peerconnections/cd48a6c6-4fbf-4d7b-9799-f126175a3691"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU0N30.op54ERT9e4hsE4IP94JwE1Qs_XLPnzaOvNN5nsf5_qY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"ccaaabc53ad13988eb441c814d19c53c","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/8d96286c-c582-49ab-9783-ec75ffb8050d"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":373,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:27Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":373,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.812339,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:27Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/8d96286c-c582-49ab-9783-ec75ffb8050d","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/8d96286c-c582-49ab-9783-ec75ffb8050d","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454547,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU0N30.op54ERT9e4hsE4IP94JwE1Qs_XLPnzaOvNN5nsf5_qY"} 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":"ccaaabc53ad13988eb441c814d19c53c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 305ms","method":"POST","requestID":"74ebab7d86783dbdf806d6fdbde973df","responseTime":305,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:42:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.309","http_referrer":"","http_user_agent":"node-fetch","requestID":"74ebab7d86783dbdf806d6fdbde973df"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/8d96286c-c582-49ab-9783-ec75ffb8050d"} gateway_1 | {"time_local":"20/Feb/2024:18:42:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/8d96286c-c582-49ab-9783-ec75ffb8050d HTTP/1.1","status": "200","body_bytes_sent":"1284","request_time":"0.117","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ccaaabc53ad13988eb441c814d19c53c"} experiment_1 | {"level":"info","message":"GET /experiments/8d96286c-c582-49ab-9783-ec75ffb8050d 200 111ms","method":"GET","requestID":"ccaaabc53ad13988eb441c814d19c53c","responseTime":111,"status":200,"url":"/experiments/8d96286c-c582-49ab-9783-ec75ffb8050d"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU0N30.op54ERT9e4hsE4IP94JwE1Qs_XLPnzaOvNN5nsf5_qY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4afe1ffc4d2cce4652e68411367e7b9f","responseTime":3,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/8d96286c-c582-49ab-9783-ec75ffb8050d"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":374,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:27Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":374,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.164128,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:27Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/8d96286c-c582-49ab-9783-ec75ffb8050d","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/8d96286c-c582-49ab-9783-ec75ffb8050d","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454547,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU0N30.op54ERT9e4hsE4IP94JwE1Qs_XLPnzaOvNN5nsf5_qY"} 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":"4afe1ffc4d2cce4652e68411367e7b9f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8d96286c-c582-49ab-9783-ec75ffb8050d"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":375,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:27Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":375,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.944843,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:27Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/cd48a6c6-4fbf-4d7b-9799-f126175a3691","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"peerconnection:http://localhost/peerconnections/cd48a6c6-4fbf-4d7b-9799-f126175a3691","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454547,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU0N30.op54ERT9e4hsE4IP94JwE1Qs_XLPnzaOvNN5nsf5_qY"} 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":"cbefd480-d01f-11ee-ad1d-cbf3af4d0136"},"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/cd48a6c6-4fbf-4d7b-9799-f126175a3691' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/cd48a6c6-4fbf-4d7b-9799-f126175a3691' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"cd48a6c6-4fbf-4d7b-9799-f126175a3691","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fcd48a6c6-4fbf-4d7b-9799-f126175a3691': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fcd48a6c6-4fbf-4d7b-9799-f126175a3691","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]},"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":null},"raw_response":{},"request_id":"c0f14310-a270-4d99-8eec-4789f7de9fa4","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454547.9346683} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"90d5f5a7-bedd-4185-8bd8-b4dd8962d98d","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454547.9348714} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"798ea689bac08e73b5832c92d0ec88bd","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":"cbefd480-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/ea0a5617-e2b5-44ef-b40b-b11c4732d0c5"},{"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/da5162b6-bf96-4837-9b2a-f2e1eb2e2712"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/cd48a6c6-4fbf-4d7b-9799-f126175a3691"}}},"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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"eb0d17f56d7a26ccbf90f9c08721a0e9","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/ea0a5617-e2b5-44ef-b40b-b11c4732d0c5"},{"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/da5162b6-bf96-4837-9b2a-f2e1eb2e2712"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/cd48a6c6-4fbf-4d7b-9799-f126175a3691"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"DELETE /peerconnections/cd48a6c6-4fbf-4d7b-9799-f126175a3691 204 274ms","method":"DELETE","requestID":"cbefd480-d01f-11ee-ad1d-cbf3af4d0136","responseTime":274,"status":204,"url":"/peerconnections/cd48a6c6-4fbf-4d7b-9799-f126175a3691"} device_1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/ea0a5617-e2b5-44ef-b40b-b11c4732d0c5'"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8d96286c-c582-49ab-9783-ec75ffb8050d"},"level":"info","message":"Successfully finished experiment"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8d96286c-c582-49ab-9783-ec75ffb8050d': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8d96286c-c582-49ab-9783-ec75ffb8050d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]},"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":null},"raw_response":{},"request_id":"1331697d-4c47-4f7f-85df-979c8ddde245","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454548.4810567} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e9f648ef-d261-4c78-b9c0-95eedf535c2e","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454548.481292} authorization_1 | {"level":"info","message":"POST /relations/update 200 156ms","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":"4afe1ffc4d2cce4652e68411367e7b9f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":156}} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/8d96286c-c582-49ab-9783-ec75ffb8050d"} gateway_1 | {"time_local":"20/Feb/2024:18:42:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/8d96286c-c582-49ab-9783-ec75ffb8050d HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"1.331","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4afe1ffc4d2cce4652e68411367e7b9f"} experiment_1 | {"level":"info","message":"DELETE /experiments/8d96286c-c582-49ab-9783-ec75ffb8050d 204 1328ms","method":"DELETE","requestID":"4afe1ffc4d2cce4652e68411367e7b9f","responseTime":1328,"status":204,"url":"/experiments/8d96286c-c582-49ab-9783-ec75ffb8050d"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1295ms","method":"POST","requestID":"798ea689bac08e73b5832c92d0ec88bd","responseTime":1295,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:42:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"1.299","http_referrer":"","http_user_agent":"node-fetch","requestID":"798ea689bac08e73b5832c92d0ec88bd"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU0OX0.ooBf8YGCGPTruAxEhVOQRrTo3pAWcluFZpwNENuiuLI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"6b26fa3071607765879a56f31c8ca831","responseTime":6,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} gateway_1 | {"time_local":"20/Feb/2024:18:42:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1689","request_time":"3.734","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"ce043d202f31c1a49507c3df8c7ebbe1"} gateway_1 | {"time_local":"20/Feb/2024:18:42:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1960","request_time":"3.858","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"c3e9e0f0a2a4ef66c5bbb08aa28ec325"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1300ms","method":"POST","requestID":"eb0d17f56d7a26ccbf90f9c08721a0e9","responseTime":1300,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:42:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"1.305","http_referrer":"","http_user_agent":"node-fetch","requestID":"eb0d17f56d7a26ccbf90f9c08721a0e9"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":376,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:29Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":376,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.786936,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:29Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454549,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU0OX0.ooBf8YGCGPTruAxEhVOQRrTo3pAWcluFZpwNENuiuLI"} 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":"6b26fa3071607765879a56f31c8ca831"},"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/da5162b6-bf96-4837-9b2a-f2e1eb2e2712' closed"} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/ea0a5617-e2b5-44ef-b40b-b11c4732d0c5' 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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc5a1c41b-8c68-421b-a62e-3ce5a8b5e1e5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"3c144a30-fda8-4413-99ae-3ef15c7412a6","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454549.3886135} 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":"6b26fa3071607765879a56f31c8ca831"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1876a7d8-65f0-4ccc-835f-627fafab42df","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454549.396633} 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":"6b26fa3071607765879a56f31c8ca831"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc5a1c41b-8c68-421b-a62e-3ce5a8b5e1e5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"fe6df7e0-bc4a-4792-92af-d55ec58306b2","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454549.5536575} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a66a02a0-e3fc-4396-8278-cced7c2757ee","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454549.5541637} authorization_1 | {"level":"info","message":"POST /relations/update 200 160ms","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":"6b26fa3071607765879a56f31c8ca831"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":160}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc5a1c41b-8c68-421b-a62e-3ce5a8b5e1e5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc5a1c41b-8c68-421b-a62e-3ce5a8b5e1e5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:29.553614900Z"}]},"request_id":"211f416c-a623-4331-a677-8001d6151064","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454549.5615518} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6b26fa3071607765879a56f31c8ca831"},"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 329ms","method":"POST","requestID":"6b26fa3071607765879a56f31c8ca831","responseTime":329,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"20/Feb/2024:18:42:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.338","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6b26fa3071607765879a56f31c8ca831"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU0OX0.ooBf8YGCGPTruAxEhVOQRrTo3pAWcluFZpwNENuiuLI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"5cedf4e5bbfd21c9a9f0d2f545545faf","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":377,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:29Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":377,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.167805,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:29Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454549,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU0OX0.ooBf8YGCGPTruAxEhVOQRrTo3pAWcluFZpwNENuiuLI"} 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":"5cedf4e5bbfd21c9a9f0d2f545545faf"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9d7c28f1-8826-453e-874e-33ca3145fd19","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"04dc602d-bc25-43b7-a86b-1bad3a329a52","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454549.772684} 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":"5cedf4e5bbfd21c9a9f0d2f545545faf"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"78adb231-4b61-4f5b-8158-c29dc62e1f78","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454549.7811449} 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":"5cedf4e5bbfd21c9a9f0d2f545545faf"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9d7c28f1-8826-453e-874e-33ca3145fd19","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"7f278d8b-467d-4022-a560-872d06fbe163","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454549.9467666} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"48d8f511-b2d5-451a-867d-a173659623b1","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454549.9471364} authorization_1 | {"level":"info","message":"POST /relations/update 200 170ms","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":"5cedf4e5bbfd21c9a9f0d2f545545faf"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":170}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9d7c28f1-8826-453e-874e-33ca3145fd19","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9d7c28f1-8826-453e-874e-33ca3145fd19","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:29.946736664Z"}]},"request_id":"62bd6d3e-fd27-4acd-8804-2a9bb512ac25","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454549.955879} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5cedf4e5bbfd21c9a9f0d2f545545faf"},"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 388ms","method":"POST","requestID":"5cedf4e5bbfd21c9a9f0d2f545545faf","responseTime":388,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"20/Feb/2024:18:42:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.423","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5cedf4e5bbfd21c9a9f0d2f545545faf"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"0cbad7b4bf733467f566542cf3dd44bc","responseTime":2,"status":200,"url":"/auth"} gateway_1 | {"time_local":"20/Feb/2024:18:42:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/c5a1c41b-8c68-421b-a62e-3ce5a8b5e1e5/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":"0cbad7b4bf733467f566542cf3dd44bc"} device_1 | {"level":"info","message":"OPTIONS /devices/c5a1c41b-8c68-421b-a62e-3ce5a8b5e1e5/websocket 200 1ms","method":"OPTIONS","requestID":"0cbad7b4bf733467f566542cf3dd44bc","responseTime":1,"status":200,"url":"/devices/c5a1c41b-8c68-421b-a62e-3ce5a8b5e1e5/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU1MX0.j-cxxF7PPn3XYBmrajsZ7jqoa8HuTMmHxLuWx7FKL3M","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b8a8e1f11aab04cc81899e2c45883657","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":378,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42: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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":378,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.325574,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:31Z"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a3c158ae0c7d4551efe1ab9cd4eb4d4c","responseTime":2,"status":200,"url":"/auth"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c5a1c41b-8c68-421b-a62e-3ce5a8b5e1e5","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/c5a1c41b-8c68-421b-a62e-3ce5a8b5e1e5","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454551,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU1MX0.j-cxxF7PPn3XYBmrajsZ7jqoa8HuTMmHxLuWx7FKL3M"} gateway_1 | {"time_local":"20/Feb/2024:18:42:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/9d7c28f1-8826-453e-874e-33ca3145fd19/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":"a3c158ae0c7d4551efe1ab9cd4eb4d4c"} device_1 | {"level":"info","message":"OPTIONS /devices/9d7c28f1-8826-453e-874e-33ca3145fd19/websocket 200 1ms","method":"OPTIONS","requestID":"a3c158ae0c7d4551efe1ab9cd4eb4d4c","responseTime":1,"status":200,"url":"/devices/9d7c28f1-8826-453e-874e-33ca3145fd19/websocket"} 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":"b8a8e1f11aab04cc81899e2c45883657"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU1MX0.j-cxxF7PPn3XYBmrajsZ7jqoa8HuTMmHxLuWx7FKL3M","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"969ac8a778674eac275f99803cf49471","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":379,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:31Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":379,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.286277,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:31Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9d7c28f1-8826-453e-874e-33ca3145fd19","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/9d7c28f1-8826-453e-874e-33ca3145fd19","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454551,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU1MX0.j-cxxF7PPn3XYBmrajsZ7jqoa8HuTMmHxLuWx7FKL3M"} 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":"969ac8a778674eac275f99803cf49471"},"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":"20/Feb/2024:18:42:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/c5a1c41b-8c68-421b-a62e-3ce5a8b5e1e5/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.176","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"b8a8e1f11aab04cc81899e2c45883657"} device_1 | {"level":"info","message":"POST /devices/c5a1c41b-8c68-421b-a62e-3ce5a8b5e1e5/websocket 200 170ms","method":"POST","requestID":"b8a8e1f11aab04cc81899e2c45883657","responseTime":170,"status":200,"url":"/devices/c5a1c41b-8c68-421b-a62e-3ce5a8b5e1e5/websocket"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"20/Feb/2024:18:42:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/9d7c28f1-8826-453e-874e-33ca3145fd19/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.294","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"969ac8a778674eac275f99803cf49471"} device_1 | {"level":"info","message":"POST /devices/9d7c28f1-8826-453e-874e-33ca3145fd19/websocket 200 290ms","method":"POST","requestID":"969ac8a778674eac275f99803cf49471","responseTime":290,"status":200,"url":"/devices/9d7c28f1-8826-453e-874e-33ca3145fd19/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/c5a1c41b-8c68-421b-a62e-3ce5a8b5e1e5' connected"} device_1 | {"level":"info","message":"device 'http://localhost/devices/9d7c28f1-8826-453e-874e-33ca3145fd19' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU1Mn0.5Xx_-ybryavdnv2vWIJj6LUk96RtcPqHfxUjbHeCX0A","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f892ee61fc2f53ed02b015c6e629fb1a","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":380,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:32Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":380,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.175487,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:32Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c5a1c41b-8c68-421b-a62e-3ce5a8b5e1e5","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/c5a1c41b-8c68-421b-a62e-3ce5a8b5e1e5","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454552,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU1Mn0.5Xx_-ybryavdnv2vWIJj6LUk96RtcPqHfxUjbHeCX0A"} 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":"f892ee61fc2f53ed02b015c6e629fb1a"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc5a1c41b-8c68-421b-a62e-3ce5a8b5e1e5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc5a1c41b-8c68-421b-a62e-3ce5a8b5e1e5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:29.553614900Z"}]},"request_id":"5cf9eb76-79a7-4d7f-a7e1-195243b41b83","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454552.5609558} 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":"f892ee61fc2f53ed02b015c6e629fb1a"},"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":"20/Feb/2024:18:42:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c5a1c41b-8c68-421b-a62e-3ce5a8b5e1e5? 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":"f892ee61fc2f53ed02b015c6e629fb1a"} device_1 | {"level":"info","message":"GET /devices/c5a1c41b-8c68-421b-a62e-3ce5a8b5e1e5? 200 18ms","method":"GET","requestID":"f892ee61fc2f53ed02b015c6e629fb1a","responseTime":18,"status":200,"url":"/devices/c5a1c41b-8c68-421b-a62e-3ce5a8b5e1e5?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU1Mn0.5Xx_-ybryavdnv2vWIJj6LUk96RtcPqHfxUjbHeCX0A","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0ba495ebf95ace9566a4763ed6116e6e","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":381,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:32Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":381,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.295752,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:32Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9d7c28f1-8826-453e-874e-33ca3145fd19","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/9d7c28f1-8826-453e-874e-33ca3145fd19","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454552,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU1Mn0.5Xx_-ybryavdnv2vWIJj6LUk96RtcPqHfxUjbHeCX0A"} 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":"0ba495ebf95ace9566a4763ed6116e6e"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9d7c28f1-8826-453e-874e-33ca3145fd19","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9d7c28f1-8826-453e-874e-33ca3145fd19","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:29.946736664Z"}]},"request_id":"10edee23-931d-4fe0-bad3-2ef815a74672","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454552.5868976} 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":"0ba495ebf95ace9566a4763ed6116e6e"},"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/9d7c28f1-8826-453e-874e-33ca3145fd19? 200 17ms","method":"GET","requestID":"0ba495ebf95ace9566a4763ed6116e6e","responseTime":17,"status":200,"url":"/devices/9d7c28f1-8826-453e-874e-33ca3145fd19?"} gateway_1 | {"time_local":"20/Feb/2024:18:42:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9d7c28f1-8826-453e-874e-33ca3145fd19? 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":"0ba495ebf95ace9566a4763ed6116e6e"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU1Mn0.5Xx_-ybryavdnv2vWIJj6LUk96RtcPqHfxUjbHeCX0A","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5be5bdc79b370d603c88148d26d83027","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:48424","level":"info","msg":"Received request.","req_id":382,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:32Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":382,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.287614,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:32Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454552,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU1Mn0.5Xx_-ybryavdnv2vWIJj6LUk96RtcPqHfxUjbHeCX0A"} 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":"5be5bdc79b370d603c88148d26d83027"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b7700a2c-398d-47c9-8d74-5228a4545ad8"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b7700a2c-398d-47c9-8d74-5228a4545ad8"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b7700a2c-398d-47c9-8d74-5228a4545ad8"},"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:48424","level":"info","msg":"Received request.","req_id":383,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:32Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":383,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.739056,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:32Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c5a1c41b-8c68-421b-a62e-3ce5a8b5e1e5","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/c5a1c41b-8c68-421b-a62e-3ce5a8b5e1e5","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454552,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU1Mn0.5Xx_-ybryavdnv2vWIJj6LUk96RtcPqHfxUjbHeCX0A"} 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":"cee67f40-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization_1 | {"client_addr":"127.0.0.1:47748","level":"info","msg":"Received request.","req_id":384,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:32Z"} authorization_1 | {"client_addr":"127.0.0.1:47748","level":"info","msg":"Sent response.","req_id":384,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.103567,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:32Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9d7c28f1-8826-453e-874e-33ca3145fd19","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/9d7c28f1-8826-453e-874e-33ca3145fd19","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454552,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU1Mn0.5Xx_-ybryavdnv2vWIJj6LUk96RtcPqHfxUjbHeCX0A"} authorization_1 | {"level":"info","message":"POST /authorize 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cee6cd60-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc5a1c41b-8c68-421b-a62e-3ce5a8b5e1e5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc5a1c41b-8c68-421b-a62e-3ce5a8b5e1e5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:29.553614900Z"}]},"request_id":"a967a50b-a10c-4bfe-b4a7-b9374e4b944e","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454552.9008567} 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":"cee67f40-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9d7c28f1-8826-453e-874e-33ca3145fd19","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9d7c28f1-8826-453e-874e-33ca3145fd19","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:29.946736664Z"}]},"request_id":"4b7d60cb-d79d-46c7-9ee3-8b3dca9c9ac6","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454552.9050756} 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":"cee6cd60-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"GET /devices/c5a1c41b-8c68-421b-a62e-3ce5a8b5e1e5? 200 22ms","method":"GET","requestID":"cee67f40-d01f-11ee-ad1d-cbf3af4d0136","responseTime":22,"status":200,"url":"/devices/c5a1c41b-8c68-421b-a62e-3ce5a8b5e1e5?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/9d7c28f1-8826-453e-874e-33ca3145fd19? 200 23ms","method":"GET","requestID":"cee6cd60-d01f-11ee-ad1d-cbf3af4d0136","responseTime":23,"status":200,"url":"/devices/9d7c28f1-8826-453e-874e-33ca3145fd19?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b7700a2c-398d-47c9-8d74-5228a4545ad8"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b7700a2c-398d-47c9-8d74-5228a4545ad8"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b7700a2c-398d-47c9-8d74-5228a4545ad8"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b7700a2c-398d-47c9-8d74-5228a4545ad8"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b7700a2c-398d-47c9-8d74-5228a4545ad8"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b7700a2c-398d-47c9-8d74-5228a4545ad8"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b7700a2c-398d-47c9-8d74-5228a4545ad8"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b7700a2c-398d-47c9-8d74-5228a4545ad8"},"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/b7700a2c-398d-47c9-8d74-5228a4545ad8"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":385,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:33Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":385,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.303431,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:33Z"} authorization_1 | {"client_addr":"127.0.0.1:47748","level":"info","msg":"Received request.","req_id":386,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:33Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c5a1c41b-8c68-421b-a62e-3ce5a8b5e1e5","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/c5a1c41b-8c68-421b-a62e-3ce5a8b5e1e5","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454552,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU1Mn0.5Xx_-ybryavdnv2vWIJj6LUk96RtcPqHfxUjbHeCX0A"} 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":"cf1f4280-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:47748","level":"info","msg":"Sent response.","req_id":386,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.148982,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:33Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9d7c28f1-8826-453e-874e-33ca3145fd19","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/9d7c28f1-8826-453e-874e-33ca3145fd19","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454552,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU1Mn0.5Xx_-ybryavdnv2vWIJj6LUk96RtcPqHfxUjbHeCX0A"} 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":"cf1f90a0-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc5a1c41b-8c68-421b-a62e-3ce5a8b5e1e5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc5a1c41b-8c68-421b-a62e-3ce5a8b5e1e5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:29.553614900Z"}]},"request_id":"0994daf6-ad3c-4824-a816-6d5aa190061a","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454553.2710738} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cf1f4280-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9d7c28f1-8826-453e-874e-33ca3145fd19","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9d7c28f1-8826-453e-874e-33ca3145fd19","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:29.946736664Z"}]},"request_id":"2b57e86c-c26d-4239-9497-8407bd89a93a","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454553.27234} 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":"cf1f90a0-d01f-11ee-ad1d-cbf3af4d0136"},"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/c5a1c41b-8c68-421b-a62e-3ce5a8b5e1e5? 200 24ms","method":"GET","requestID":"cf1f4280-d01f-11ee-ad1d-cbf3af4d0136","responseTime":24,"status":200,"url":"/devices/c5a1c41b-8c68-421b-a62e-3ce5a8b5e1e5?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/9d7c28f1-8826-453e-874e-33ca3145fd19? 200 23ms","method":"GET","requestID":"cf1f90a0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":23,"status":200,"url":"/devices/9d7c28f1-8826-453e-874e-33ca3145fd19?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":387,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:33Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":387,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.967508,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:33Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/c5a1c41b-8c68-421b-a62e-3ce5a8b5e1e5","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c5a1c41b-8c68-421b-a62e-3ce5a8b5e1e5","object_type":"device","rebac_allow":false,"scope_allow":false,"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":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cf236130-d01f-11ee-ad1d-cbf3af4d0136"},"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/c5a1c41b-8c68-421b-a62e-3ce5a8b5e1e5/signaling 200 8ms","method":"POST","requestID":"cf236130-d01f-11ee-ad1d-cbf3af4d0136","responseTime":8,"status":200,"url":"/devices/c5a1c41b-8c68-421b-a62e-3ce5a8b5e1e5/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":388,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:33Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":388,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":1.966043,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:33Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/9d7c28f1-8826-453e-874e-33ca3145fd19","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9d7c28f1-8826-453e-874e-33ca3145fd19","object_type":"device","rebac_allow":false,"scope_allow":false,"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":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cf250ee0-d01f-11ee-ad1d-cbf3af4d0136"},"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/9d7c28f1-8826-453e-874e-33ca3145fd19/signaling 200 11ms","method":"POST","requestID":"cf250ee0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":11,"status":200,"url":"/devices/9d7c28f1-8826-453e-874e-33ca3145fd19/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b7700a2c-398d-47c9-8d74-5228a4545ad8"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b7700a2c-398d-47c9-8d74-5228a4545ad8"},"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":"9937c575-3aa1-42ea-815a-33aa346d5c36"},{"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":"a1d399f6-3de6-4971-b42f-237857292925"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"89b508db-4690-4b32-9ae1-d7eac4fefcb2"}]},"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/c5a1c41b-8c68-421b-a62e-3ce5a8b5e1e5"},{"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/9d7c28f1-8826-453e-874e-33ca3145fd19"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":389,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:33Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":389,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.448273,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:33Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454552,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU1Mn0.5Xx_-ybryavdnv2vWIJj6LUk96RtcPqHfxUjbHeCX0A"} 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":"cf2758d0-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb7700a2c-398d-47c9-8d74-5228a4545ad8#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb7700a2c-398d-47c9-8d74-5228a4545ad8","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"44556ae1-92d5-4b80-a9f4-26a1b2504ac1","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454553.4131963} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"109db8ff-e7e0-4865-aac3-67d4b1e1cb33","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454553.4134102} authorization_1 | {"level":"info","message":"POST /relations/update 200 152ms","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":"5be5bdc79b370d603c88148d26d83027"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":152}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","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%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"6ce70624-e8d8-4376-9b26-99b452858c31","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454553.415386} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"046eafc0-f45f-46e3-99f5-637719a1205a","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454553.415841} authorization_1 | {"level":"info","message":"POST /relations/update 200 98ms","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":"cf2758d0-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":98}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/b7700a2c-398d-47c9-8d74-5228a4545ad8","user":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 828ms","method":"POST","requestID":"5be5bdc79b370d603c88148d26d83027","responseTime":828,"status":201,"url":"/experiments?"} gateway_1 | {"time_local":"20/Feb/2024:18:42:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1211","request_time":"0.835","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5be5bdc79b370d603c88148d26d83027"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU1M30.Fud5eNZEtKZ6mGjdHIXjSVu_Kkze7sD0bj_ypS6adqA","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d0c2be165003b621df5eb0d72b433542","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":390,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:33Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":390,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.688843,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:33Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c5a1c41b-8c68-421b-a62e-3ce5a8b5e1e5","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/c5a1c41b-8c68-421b-a62e-3ce5a8b5e1e5","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454553,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU1M30.Fud5eNZEtKZ6mGjdHIXjSVu_Kkze7sD0bj_ypS6adqA"} 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":"d0c2be165003b621df5eb0d72b433542"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc5a1c41b-8c68-421b-a62e-3ce5a8b5e1e5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc5a1c41b-8c68-421b-a62e-3ce5a8b5e1e5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:29.553614900Z"}]},"request_id":"c30c344a-3a85-4c07-9107-7d4b8bb471d8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454553.4422307} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d0c2be165003b621df5eb0d72b433542"},"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/0681ccc2-79c2-4da6-b1be-97bf3b2b8bc2'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/0681ccc2-79c2-4da6-b1be-97bf3b2b8bc2'"} 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 264ms","method":"POST","requestID":"cf2758d0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":264,"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":"20/Feb/2024:18:42:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c5a1c41b-8c68-421b-a62e-3ce5a8b5e1e5? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.146","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d0c2be165003b621df5eb0d72b433542"} device_1 | {"level":"info","message":"GET /devices/c5a1c41b-8c68-421b-a62e-3ce5a8b5e1e5? 200 143ms","method":"GET","requestID":"d0c2be165003b621df5eb0d72b433542","responseTime":143,"status":200,"url":"/devices/c5a1c41b-8c68-421b-a62e-3ce5a8b5e1e5?"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU1M30.Fud5eNZEtKZ6mGjdHIXjSVu_Kkze7sD0bj_ypS6adqA","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6279406c33d00128d3b3d5b28efa3f3c","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":391,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:33Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":391,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.983979,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:33Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9d7c28f1-8826-453e-874e-33ca3145fd19","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/9d7c28f1-8826-453e-874e-33ca3145fd19","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454553,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU1M30.Fud5eNZEtKZ6mGjdHIXjSVu_Kkze7sD0bj_ypS6adqA"} 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":"6279406c33d00128d3b3d5b28efa3f3c"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9d7c28f1-8826-453e-874e-33ca3145fd19","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9d7c28f1-8826-453e-874e-33ca3145fd19","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:29.946736664Z"}]},"request_id":"3e570be4-6cb8-4b52-b8c4-7ee6e460817e","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454553.5931048} 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":"6279406c33d00128d3b3d5b28efa3f3c"},"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":"20/Feb/2024:18:42:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9d7c28f1-8826-453e-874e-33ca3145fd19? 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":"6279406c33d00128d3b3d5b28efa3f3c"} device_1 | {"level":"info","message":"GET /devices/9d7c28f1-8826-453e-874e-33ca3145fd19? 200 11ms","method":"GET","requestID":"6279406c33d00128d3b3d5b28efa3f3c","responseTime":11,"status":200,"url":"/devices/9d7c28f1-8826-453e-874e-33ca3145fd19?"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/0681ccc2-79c2-4da6-b1be-97bf3b2b8bc2' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"0681ccc2-79c2-4da6-b1be-97bf3b2b8bc2","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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"aa868b6e23edb8f1698711474586bec2","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/c5a1c41b-8c68-421b-a62e-3ce5a8b5e1e5"},{"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/9d7c28f1-8826-453e-874e-33ca3145fd19"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/0681ccc2-79c2-4da6-b1be-97bf3b2b8bc2"}}},"level":"info","message":"received a callback"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b7700a2c-398d-47c9-8d74-5228a4545ad8"},"level":"info","message":"Successfully created peerconnections for experiment"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 156ms","method":"POST","requestID":"aa868b6e23edb8f1698711474586bec2","responseTime":156,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:42:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.159","http_referrer":"","http_user_agent":"node-fetch","requestID":"aa868b6e23edb8f1698711474586bec2"} device_1 | {"data":{"peerconnection":"0681ccc2-79c2-4da6-b1be-97bf3b2b8bc2","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU1NH0.U4389e9vhIJDNQ9WQGVrIq0jzypmGhbbuORIhGuRdDo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"aede1d439b7887fbfb9796964102af61","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/b7700a2c-398d-47c9-8d74-5228a4545ad8"} device_1 | {"data":{"peerconnection":"0681ccc2-79c2-4da6-b1be-97bf3b2b8bc2","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":392,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:34Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":392,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.328952,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:34Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/b7700a2c-398d-47c9-8d74-5228a4545ad8","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/b7700a2c-398d-47c9-8d74-5228a4545ad8","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454554,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU1NH0.U4389e9vhIJDNQ9WQGVrIq0jzypmGhbbuORIhGuRdDo"} 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":"aede1d439b7887fbfb9796964102af61"},"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/b7700a2c-398d-47c9-8d74-5228a4545ad8"} experiment_1 | {"level":"info","message":"GET /experiments/b7700a2c-398d-47c9-8d74-5228a4545ad8 200 17ms","method":"GET","requestID":"aede1d439b7887fbfb9796964102af61","responseTime":17,"status":200,"url":"/experiments/b7700a2c-398d-47c9-8d74-5228a4545ad8"} gateway_1 | {"time_local":"20/Feb/2024:18:42:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/b7700a2c-398d-47c9-8d74-5228a4545ad8 HTTP/1.1","status": "200","body_bytes_sent":"1282","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"aede1d439b7887fbfb9796964102af61"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/0681ccc2-79c2-4da6-b1be-97bf3b2b8bc2' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"0681ccc2-79c2-4da6-b1be-97bf3b2b8bc2","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU1NH0.U4389e9vhIJDNQ9WQGVrIq0jzypmGhbbuORIhGuRdDo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"ed6a96e9a6848e35f7e9400c56f51939","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/b7700a2c-398d-47c9-8d74-5228a4545ad8"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"4edc07786d502496b5efc2961eec420b","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/c5a1c41b-8c68-421b-a62e-3ce5a8b5e1e5"},{"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/9d7c28f1-8826-453e-874e-33ca3145fd19"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/0681ccc2-79c2-4da6-b1be-97bf3b2b8bc2"}}},"level":"info","message":"received a callback"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":393,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:34Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":393,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.875438,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:34Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/b7700a2c-398d-47c9-8d74-5228a4545ad8","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/b7700a2c-398d-47c9-8d74-5228a4545ad8","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454554,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU1NH0.U4389e9vhIJDNQ9WQGVrIq0jzypmGhbbuORIhGuRdDo"} 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":"ed6a96e9a6848e35f7e9400c56f51939"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/b7700a2c-398d-47c9-8d74-5228a4545ad8"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":394,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:34Z"} gateway_1 | {"time_local":"20/Feb/2024:18:42:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/b7700a2c-398d-47c9-8d74-5228a4545ad8 HTTP/1.1","status": "200","body_bytes_sent":"1282","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ed6a96e9a6848e35f7e9400c56f51939"} experiment_1 | {"level":"info","message":"GET /experiments/b7700a2c-398d-47c9-8d74-5228a4545ad8 200 15ms","method":"GET","requestID":"ed6a96e9a6848e35f7e9400c56f51939","responseTime":15,"status":200,"url":"/experiments/b7700a2c-398d-47c9-8d74-5228a4545ad8"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","contextual_tuples":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0681ccc2-79c2-4da6-b1be-97bf3b2b8bc2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"587b1cfc-7aad-4997-bbfb-d6d83b8421db","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454554.2223184} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":394,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.682036,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:34Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/0681ccc2-79c2-4da6-b1be-97bf3b2b8bc2","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/0681ccc2-79c2-4da6-b1be-97bf3b2b8bc2","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":"cfb1e590-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU1NH0.U4389e9vhIJDNQ9WQGVrIq0jzypmGhbbuORIhGuRdDo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"59008d147682831ef7da7a0f877e51fc","responseTime":3,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/b7700a2c-398d-47c9-8d74-5228a4545ad8"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":395,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:34Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":395,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.181926,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:34Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/b7700a2c-398d-47c9-8d74-5228a4545ad8","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/b7700a2c-398d-47c9-8d74-5228a4545ad8","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454554,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU1NH0.U4389e9vhIJDNQ9WQGVrIq0jzypmGhbbuORIhGuRdDo"} 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":"59008d147682831ef7da7a0f877e51fc"},"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/b7700a2c-398d-47c9-8d74-5228a4545ad8"} gateway_1 | {"time_local":"20/Feb/2024:18:42:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/b7700a2c-398d-47c9-8d74-5228a4545ad8 HTTP/1.1","status": "200","body_bytes_sent":"1282","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"59008d147682831ef7da7a0f877e51fc"} experiment_1 | {"level":"info","message":"GET /experiments/b7700a2c-398d-47c9-8d74-5228a4545ad8 200 13ms","method":"GET","requestID":"59008d147682831ef7da7a0f877e51fc","responseTime":13,"status":200,"url":"/experiments/b7700a2c-398d-47c9-8d74-5228a4545ad8"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"GET /peerconnections/0681ccc2-79c2-4da6-b1be-97bf3b2b8bc2 200 134ms","method":"GET","requestID":"cfb1e590-d01f-11ee-ad1d-cbf3af4d0136","responseTime":134,"status":200,"url":"/peerconnections/0681ccc2-79c2-4da6-b1be-97bf3b2b8bc2"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU1NH0.U4389e9vhIJDNQ9WQGVrIq0jzypmGhbbuORIhGuRdDo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8540d6ff0976d88e21465eb00fc2b54f","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/b7700a2c-398d-47c9-8d74-5228a4545ad8"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":396,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:34Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":396,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.47336,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:34Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/b7700a2c-398d-47c9-8d74-5228a4545ad8","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/b7700a2c-398d-47c9-8d74-5228a4545ad8","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454554,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU1NH0.U4389e9vhIJDNQ9WQGVrIq0jzypmGhbbuORIhGuRdDo"} 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":"8540d6ff0976d88e21465eb00fc2b54f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 277ms","method":"POST","requestID":"4edc07786d502496b5efc2961eec420b","responseTime":277,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:42:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.282","http_referrer":"","http_user_agent":"node-fetch","requestID":"4edc07786d502496b5efc2961eec420b"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/b7700a2c-398d-47c9-8d74-5228a4545ad8"} gateway_1 | {"time_local":"20/Feb/2024:18:42:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/b7700a2c-398d-47c9-8d74-5228a4545ad8 HTTP/1.1","status": "200","body_bytes_sent":"1284","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8540d6ff0976d88e21465eb00fc2b54f"} experiment_1 | {"level":"info","message":"GET /experiments/b7700a2c-398d-47c9-8d74-5228a4545ad8 200 40ms","method":"GET","requestID":"8540d6ff0976d88e21465eb00fc2b54f","responseTime":40,"status":200,"url":"/experiments/b7700a2c-398d-47c9-8d74-5228a4545ad8"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU1NH0.U4389e9vhIJDNQ9WQGVrIq0jzypmGhbbuORIhGuRdDo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"822d3456d9b80e2e6d3a1d63b29bcb85","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/b7700a2c-398d-47c9-8d74-5228a4545ad8"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":397,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:34Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":397,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.274462,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:34Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/b7700a2c-398d-47c9-8d74-5228a4545ad8","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/b7700a2c-398d-47c9-8d74-5228a4545ad8","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454554,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU1NH0.U4389e9vhIJDNQ9WQGVrIq0jzypmGhbbuORIhGuRdDo"} 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":"822d3456d9b80e2e6d3a1d63b29bcb85"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b7700a2c-398d-47c9-8d74-5228a4545ad8"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":398,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:34Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":398,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.145845,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:34Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/0681ccc2-79c2-4da6-b1be-97bf3b2b8bc2","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"peerconnection:http://localhost/peerconnections/0681ccc2-79c2-4da6-b1be-97bf3b2b8bc2","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454554,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU1NH0.U4389e9vhIJDNQ9WQGVrIq0jzypmGhbbuORIhGuRdDo"} 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":"cfdf5e30-d01f-11ee-ad1d-cbf3af4d0136"},"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/0681ccc2-79c2-4da6-b1be-97bf3b2b8bc2' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/0681ccc2-79c2-4da6-b1be-97bf3b2b8bc2' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"0681ccc2-79c2-4da6-b1be-97bf3b2b8bc2","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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0681ccc2-79c2-4da6-b1be-97bf3b2b8bc2': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0681ccc2-79c2-4da6-b1be-97bf3b2b8bc2","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]},"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":null},"raw_response":{},"request_id":"35ea7b90-feb8-454d-a057-27a5f934c7b4","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454554.538935} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"03d4b33f23b660420d1b7e89f2dd330b","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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6a44e7f0-0175-4c4f-8c20-ce04b503dfc6","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454554.53928} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/c5a1c41b-8c68-421b-a62e-3ce5a8b5e1e5"},{"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/9d7c28f1-8826-453e-874e-33ca3145fd19"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/0681ccc2-79c2-4da6-b1be-97bf3b2b8bc2"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"515990ab6a065c75599ad98c7061835b","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":"cfdf5e30-d01f-11ee-ad1d-cbf3af4d0136"},"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":[{"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/c5a1c41b-8c68-421b-a62e-3ce5a8b5e1e5"},{"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/9d7c28f1-8826-453e-874e-33ca3145fd19"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/0681ccc2-79c2-4da6-b1be-97bf3b2b8bc2"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"DELETE /peerconnections/0681ccc2-79c2-4da6-b1be-97bf3b2b8bc2 204 30ms","method":"DELETE","requestID":"cfdf5e30-d01f-11ee-ad1d-cbf3af4d0136","responseTime":30,"status":204,"url":"/peerconnections/0681ccc2-79c2-4da6-b1be-97bf3b2b8bc2"} device_1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/c5a1c41b-8c68-421b-a62e-3ce5a8b5e1e5'"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b7700a2c-398d-47c9-8d74-5228a4545ad8"},"level":"info","message":"Successfully finished experiment"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb7700a2c-398d-47c9-8d74-5228a4545ad8': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb7700a2c-398d-47c9-8d74-5228a4545ad8","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]},"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":null},"raw_response":{},"request_id":"c3c11979-0927-4943-a179-3d53b1623459","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454554.8475735} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7303ed01-ad9e-4750-8e61-a20423f6f7ba","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454554.847961} authorization_1 | {"level":"info","message":"POST /relations/update 200 114ms","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":"822d3456d9b80e2e6d3a1d63b29bcb85"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":114}} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/b7700a2c-398d-47c9-8d74-5228a4545ad8"} gateway_1 | {"time_local":"20/Feb/2024:18:42:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/b7700a2c-398d-47c9-8d74-5228a4545ad8 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"1.088","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"822d3456d9b80e2e6d3a1d63b29bcb85"} experiment_1 | {"level":"info","message":"DELETE /experiments/b7700a2c-398d-47c9-8d74-5228a4545ad8 204 1084ms","method":"DELETE","requestID":"822d3456d9b80e2e6d3a1d63b29bcb85","responseTime":1084,"status":204,"url":"/experiments/b7700a2c-398d-47c9-8d74-5228a4545ad8"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1047ms","method":"POST","requestID":"03d4b33f23b660420d1b7e89f2dd330b","responseTime":1047,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:42:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"1.051","http_referrer":"","http_user_agent":"node-fetch","requestID":"03d4b33f23b660420d1b7e89f2dd330b"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1047ms","method":"POST","requestID":"515990ab6a065c75599ad98c7061835b","responseTime":1047,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:42:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"1.052","http_referrer":"","http_user_agent":"node-fetch","requestID":"515990ab6a065c75599ad98c7061835b"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU1NX0.seF-21gDWKUVqIusxmsQ3GpyZ_PTvvSV-ZLRnv0ksUQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"39b0bcf13dee30c762ba6e75ef53d802","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":399,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:35Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":399,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.682748,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:35Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454555,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU1NX0.seF-21gDWKUVqIusxmsQ3GpyZ_PTvvSV-ZLRnv0ksUQ"} 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":"39b0bcf13dee30c762ba6e75ef53d802"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} gateway_1 | {"time_local":"20/Feb/2024:18:42:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1689","request_time":"3.372","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"c9a5364f9fc60f5022c72cd9de708d68"} gateway_1 | {"time_local":"20/Feb/2024:18:42:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1961","request_time":"3.506","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"d3cbc8ee4d2341fedf7c7183f6a4c3a6"} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/c5a1c41b-8c68-421b-a62e-3ce5a8b5e1e5' closed"} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/9d7c28f1-8826-453e-874e-33ca3145fd19' 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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8687b1f8-e630-44a6-a05e-09711ef7ccb7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"6d3615f4-62df-4ec8-85be-7667136a4002","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454555.7692535} 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":"39b0bcf13dee30c762ba6e75ef53d802"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c3cddb5e-3b9f-41e9-8c7c-5cbece20a704","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454555.777655} 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":"39b0bcf13dee30c762ba6e75ef53d802"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8687b1f8-e630-44a6-a05e-09711ef7ccb7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"b1fbb799-278b-4848-824c-f757f330bf7b","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454555.920591} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2260afc2-c37f-4cf5-b77f-60459d0d9c10","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454555.9210148} authorization_1 | {"level":"info","message":"POST /relations/update 200 147ms","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":"39b0bcf13dee30c762ba6e75ef53d802"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":147}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8687b1f8-e630-44a6-a05e-09711ef7ccb7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8687b1f8-e630-44a6-a05e-09711ef7ccb7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:35.920557347Z"}]},"request_id":"c46d8950-6ebc-4e00-b5da-87fad7f18d9f","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454555.9286509} 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":"39b0bcf13dee30c762ba6e75ef53d802"},"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 338ms","method":"POST","requestID":"39b0bcf13dee30c762ba6e75ef53d802","responseTime":338,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"20/Feb/2024:18:42:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.346","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"39b0bcf13dee30c762ba6e75ef53d802"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU1NX0.seF-21gDWKUVqIusxmsQ3GpyZ_PTvvSV-ZLRnv0ksUQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"57c1807d23a50ddb014dfc6ba2836e55","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":400,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:35Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":400,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.012592,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:35Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454555,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU1NX0.seF-21gDWKUVqIusxmsQ3GpyZ_PTvvSV-ZLRnv0ksUQ"} 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":"57c1807d23a50ddb014dfc6ba2836e55"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d5c44c9-1f5b-4656-92f1-c31b315d8090","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"15456b3e-8b3d-4776-b159-291409b53cdc","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454556.121725} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"57c1807d23a50ddb014dfc6ba2836e55"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5547bd32-6917-45ac-985e-165bdf102d82","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454556.1283212} 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":"57c1807d23a50ddb014dfc6ba2836e55"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d5c44c9-1f5b-4656-92f1-c31b315d8090","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"2112f395-8ffc-4077-a743-2702c7e7432f","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454556.2802608} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"67481f63-f0c8-4c37-9416-d67a0db8ca1b","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454556.280807} authorization_1 | {"level":"info","message":"POST /relations/update 200 155ms","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":"57c1807d23a50ddb014dfc6ba2836e55"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":155}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d5c44c9-1f5b-4656-92f1-c31b315d8090","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d5c44c9-1f5b-4656-92f1-c31b315d8090","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:36.280228543Z"}]},"request_id":"127de38a-39ca-4cbe-9170-2459e6d0d710","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454556.2877245} 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":"57c1807d23a50ddb014dfc6ba2836e55"},"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 354ms","method":"POST","requestID":"57c1807d23a50ddb014dfc6ba2836e55","responseTime":354,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"20/Feb/2024:18:42: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.382","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"57c1807d23a50ddb014dfc6ba2836e55"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU1Nn0.rJ5RkktOwa7izTddOc5WzQ_yxKHnmPmWn-KlORC-DNY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8df6dafd29cb4f5c736d32f23ffbe2bc","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":401,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:36Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":401,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.429849,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:36Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d5c44c9-1f5b-4656-92f1-c31b315d8090","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/6d5c44c9-1f5b-4656-92f1-c31b315d8090","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454556,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU1Nn0.rJ5RkktOwa7izTddOc5WzQ_yxKHnmPmWn-KlORC-DNY"} 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":"8df6dafd29cb4f5c736d32f23ffbe2bc"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d5c44c9-1f5b-4656-92f1-c31b315d8090","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d5c44c9-1f5b-4656-92f1-c31b315d8090","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:36.280228543Z"}]},"request_id":"19dfc4ae-d649-485f-87bf-35661553506e","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454556.7850828} 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":"8df6dafd29cb4f5c736d32f23ffbe2bc"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e2b91f07-af04-4c13-a9de-3dace7581e43","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454556.7918653} 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":"8df6dafd29cb4f5c736d32f23ffbe2bc"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d5c44c9-1f5b-4656-92f1-c31b315d8090","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d5c44c9-1f5b-4656-92f1-c31b315d8090","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:36.280228543Z"}]},"request_id":"ce95aed6-485b-4b50-9e03-345637b64a45","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454556.9400017} 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":"8df6dafd29cb4f5c736d32f23ffbe2bc"},"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/6d5c44c9-1f5b-4656-92f1-c31b315d8090 200 172ms","method":"PATCH","requestID":"8df6dafd29cb4f5c736d32f23ffbe2bc","responseTime":172,"status":200,"url":"/devices/6d5c44c9-1f5b-4656-92f1-c31b315d8090"} gateway_1 | {"time_local":"20/Feb/2024:18:42:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/6d5c44c9-1f5b-4656-92f1-c31b315d8090 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.176","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"8df6dafd29cb4f5c736d32f23ffbe2bc"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU1Nn0.rJ5RkktOwa7izTddOc5WzQ_yxKHnmPmWn-KlORC-DNY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1eeb104006b0e8d84bfadbd5a59047fd","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":402,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:36Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":402,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.275298,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:36Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d5c44c9-1f5b-4656-92f1-c31b315d8090","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/6d5c44c9-1f5b-4656-92f1-c31b315d8090","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454556,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU1Nn0.rJ5RkktOwa7izTddOc5WzQ_yxKHnmPmWn-KlORC-DNY"} 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":"1eeb104006b0e8d84bfadbd5a59047fd"},"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":"20/Feb/2024:18:42:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/6d5c44c9-1f5b-4656-92f1-c31b315d8090/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.150","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"1eeb104006b0e8d84bfadbd5a59047fd"} device_1 | {"level":"info","message":"POST /devices/6d5c44c9-1f5b-4656-92f1-c31b315d8090/websocket 200 144ms","method":"POST","requestID":"1eeb104006b0e8d84bfadbd5a59047fd","responseTime":144,"status":200,"url":"/devices/6d5c44c9-1f5b-4656-92f1-c31b315d8090/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/6d5c44c9-1f5b-4656-92f1-c31b315d8090' 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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"148551f44f11aad7fdebd577b49fa933","responseTime":1,"status":200,"url":"/auth"} gateway_1 | {"time_local":"20/Feb/2024:18:42:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/8687b1f8-e630-44a6-a05e-09711ef7ccb7/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":"148551f44f11aad7fdebd577b49fa933"} device_1 | {"level":"info","message":"OPTIONS /devices/8687b1f8-e630-44a6-a05e-09711ef7ccb7/websocket 200 1ms","method":"OPTIONS","requestID":"148551f44f11aad7fdebd577b49fa933","responseTime":1,"status":200,"url":"/devices/8687b1f8-e630-44a6-a05e-09711ef7ccb7/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU1OH0.Szpj5fj5_m-dGGRtDJDvmWzyLsY69j4HWb3JRulVcl8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9f51f0b6516fe0012053579f852885fe","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":403,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:38Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":403,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.169999,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:38Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8687b1f8-e630-44a6-a05e-09711ef7ccb7","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/8687b1f8-e630-44a6-a05e-09711ef7ccb7","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454558,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU1OH0.Szpj5fj5_m-dGGRtDJDvmWzyLsY69j4HWb3JRulVcl8"} 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":"9f51f0b6516fe0012053579f852885fe"},"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":"20/Feb/2024:18:42:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/8687b1f8-e630-44a6-a05e-09711ef7ccb7/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.161","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"9f51f0b6516fe0012053579f852885fe"} device_1 | {"level":"info","message":"POST /devices/8687b1f8-e630-44a6-a05e-09711ef7ccb7/websocket 200 156ms","method":"POST","requestID":"9f51f0b6516fe0012053579f852885fe","responseTime":156,"status":200,"url":"/devices/8687b1f8-e630-44a6-a05e-09711ef7ccb7/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/8687b1f8-e630-44a6-a05e-09711ef7ccb7' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU1OH0.Szpj5fj5_m-dGGRtDJDvmWzyLsY69j4HWb3JRulVcl8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"85d0078a8997a113ac272b6394c023c2","responseTime":6,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":404,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:38Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":404,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.082052,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:38Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8687b1f8-e630-44a6-a05e-09711ef7ccb7","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/8687b1f8-e630-44a6-a05e-09711ef7ccb7","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454558,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU1OH0.Szpj5fj5_m-dGGRtDJDvmWzyLsY69j4HWb3JRulVcl8"} 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":"85d0078a8997a113ac272b6394c023c2"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8687b1f8-e630-44a6-a05e-09711ef7ccb7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8687b1f8-e630-44a6-a05e-09711ef7ccb7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:35.920557347Z"}]},"request_id":"b9b3cf88-289f-44c5-a780-8c27f600ce30","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454558.5675924} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"85d0078a8997a113ac272b6394c023c2"},"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":"20/Feb/2024:18:42:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8687b1f8-e630-44a6-a05e-09711ef7ccb7? 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":"85d0078a8997a113ac272b6394c023c2"} device_1 | {"level":"info","message":"GET /devices/8687b1f8-e630-44a6-a05e-09711ef7ccb7? 200 14ms","method":"GET","requestID":"85d0078a8997a113ac272b6394c023c2","responseTime":14,"status":200,"url":"/devices/8687b1f8-e630-44a6-a05e-09711ef7ccb7?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU1OH0.Szpj5fj5_m-dGGRtDJDvmWzyLsY69j4HWb3JRulVcl8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1cea7acd9ecec3574629c2e6010d71e3","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":405,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:38Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":405,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.396065,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:38Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d5c44c9-1f5b-4656-92f1-c31b315d8090","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/6d5c44c9-1f5b-4656-92f1-c31b315d8090","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454558,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU1OH0.Szpj5fj5_m-dGGRtDJDvmWzyLsY69j4HWb3JRulVcl8"} 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":"1cea7acd9ecec3574629c2e6010d71e3"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d5c44c9-1f5b-4656-92f1-c31b315d8090","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d5c44c9-1f5b-4656-92f1-c31b315d8090","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:36.280228543Z"}]},"request_id":"c3c292fb-faf8-4e5f-bad9-26fc18b00d94","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454558.590997} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1cea7acd9ecec3574629c2e6010d71e3"},"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/6d5c44c9-1f5b-4656-92f1-c31b315d8090? 200 16ms","method":"GET","requestID":"1cea7acd9ecec3574629c2e6010d71e3","responseTime":16,"status":200,"url":"/devices/6d5c44c9-1f5b-4656-92f1-c31b315d8090?"} gateway_1 | {"time_local":"20/Feb/2024:18:42:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6d5c44c9-1f5b-4656-92f1-c31b315d8090? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1cea7acd9ecec3574629c2e6010d71e3"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU1OH0.Szpj5fj5_m-dGGRtDJDvmWzyLsY69j4HWb3JRulVcl8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e9fb532f2f9a035b00f1d3710df51aaf","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:48424","level":"info","msg":"Received request.","req_id":406,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:38Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":406,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.044189,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:38Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454558,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU1OH0.Szpj5fj5_m-dGGRtDJDvmWzyLsY69j4HWb3JRulVcl8"} 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":"e9fb532f2f9a035b00f1d3710df51aaf"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8f043451-0e43-47b4-bd57-05640e01fe20"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8f043451-0e43-47b4-bd57-05640e01fe20"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8f043451-0e43-47b4-bd57-05640e01fe20"},"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:48424","level":"info","msg":"Received request.","req_id":407,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:38Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":407,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.251327,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:38Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8687b1f8-e630-44a6-a05e-09711ef7ccb7","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/8687b1f8-e630-44a6-a05e-09711ef7ccb7","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454558,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU1OH0.Szpj5fj5_m-dGGRtDJDvmWzyLsY69j4HWb3JRulVcl8"} 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":"d2776e30-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:53104","level":"info","msg":"Received request.","req_id":408,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:38Z"} authorization_1 | {"client_addr":"127.0.0.1:53104","level":"info","msg":"Sent response.","req_id":408,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.169772,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:38Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d5c44c9-1f5b-4656-92f1-c31b315d8090","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/6d5c44c9-1f5b-4656-92f1-c31b315d8090","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454558,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU1OH0.Szpj5fj5_m-dGGRtDJDvmWzyLsY69j4HWb3JRulVcl8"} 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":"d277bc50-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8687b1f8-e630-44a6-a05e-09711ef7ccb7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8687b1f8-e630-44a6-a05e-09711ef7ccb7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:35.920557347Z"}]},"request_id":"e4fd03eb-54e9-4584-a33a-a54361015d3e","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454558.8803778} 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":"d2776e30-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d5c44c9-1f5b-4656-92f1-c31b315d8090","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d5c44c9-1f5b-4656-92f1-c31b315d8090","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:36.280228543Z"}]},"request_id":"a05b6c2b-c488-453f-9c6c-4e958598fac9","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454558.8857784} 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":"d277bc50-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"GET /devices/8687b1f8-e630-44a6-a05e-09711ef7ccb7? 200 20ms","method":"GET","requestID":"d2776e30-d01f-11ee-ad1d-cbf3af4d0136","responseTime":20,"status":200,"url":"/devices/8687b1f8-e630-44a6-a05e-09711ef7ccb7?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/6d5c44c9-1f5b-4656-92f1-c31b315d8090? 200 21ms","method":"GET","requestID":"d277bc50-d01f-11ee-ad1d-cbf3af4d0136","responseTime":21,"status":200,"url":"/devices/6d5c44c9-1f5b-4656-92f1-c31b315d8090?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8f043451-0e43-47b4-bd57-05640e01fe20"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8f043451-0e43-47b4-bd57-05640e01fe20"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8f043451-0e43-47b4-bd57-05640e01fe20"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8f043451-0e43-47b4-bd57-05640e01fe20"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8f043451-0e43-47b4-bd57-05640e01fe20"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8f043451-0e43-47b4-bd57-05640e01fe20"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8f043451-0e43-47b4-bd57-05640e01fe20"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8f043451-0e43-47b4-bd57-05640e01fe20"},"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:48424","level":"info","msg":"Received request.","req_id":409,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:39Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":409,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.077987,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:39Z"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8f043451-0e43-47b4-bd57-05640e01fe20"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8687b1f8-e630-44a6-a05e-09711ef7ccb7","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/8687b1f8-e630-44a6-a05e-09711ef7ccb7","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454558,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU1OH0.Szpj5fj5_m-dGGRtDJDvmWzyLsY69j4HWb3JRulVcl8"} 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":"d2b93220-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:53104","level":"info","msg":"Received request.","req_id":410,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:39Z"} authorization_1 | {"client_addr":"127.0.0.1:53104","level":"info","msg":"Sent response.","req_id":410,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.800904,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:39Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d5c44c9-1f5b-4656-92f1-c31b315d8090","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/6d5c44c9-1f5b-4656-92f1-c31b315d8090","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454558,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU1OH0.Szpj5fj5_m-dGGRtDJDvmWzyLsY69j4HWb3JRulVcl8"} 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":"d2b98040-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8687b1f8-e630-44a6-a05e-09711ef7ccb7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8687b1f8-e630-44a6-a05e-09711ef7ccb7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:35.920557347Z"}]},"request_id":"701d0451-99ee-4c13-9c32-a45c345bfb2c","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454559.313187} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d2b93220-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d5c44c9-1f5b-4656-92f1-c31b315d8090","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d5c44c9-1f5b-4656-92f1-c31b315d8090","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:36.280228543Z"}]},"request_id":"1408cc90-7236-4d16-92f9-0e6dd6c99e22","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454559.3144915} 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":"d2b98040-d01f-11ee-ad1d-cbf3af4d0136"},"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/8687b1f8-e630-44a6-a05e-09711ef7ccb7? 200 22ms","method":"GET","requestID":"d2b93220-d01f-11ee-ad1d-cbf3af4d0136","responseTime":22,"status":200,"url":"/devices/8687b1f8-e630-44a6-a05e-09711ef7ccb7?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/6d5c44c9-1f5b-4656-92f1-c31b315d8090? 200 20ms","method":"GET","requestID":"d2b98040-d01f-11ee-ad1d-cbf3af4d0136","responseTime":20,"status":200,"url":"/devices/6d5c44c9-1f5b-4656-92f1-c31b315d8090?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":411,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:39Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":411,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.878332,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:39Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/8687b1f8-e630-44a6-a05e-09711ef7ccb7","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8687b1f8-e630-44a6-a05e-09711ef7ccb7","object_type":"device","rebac_allow":false,"scope_allow":false,"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":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d2bd02b0-d01f-11ee-ad1d-cbf3af4d0136"},"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/8687b1f8-e630-44a6-a05e-09711ef7ccb7/signaling 200 8ms","method":"POST","requestID":"d2bd02b0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":8,"status":200,"url":"/devices/8687b1f8-e630-44a6-a05e-09711ef7ccb7/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":412,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:39Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":412,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.911734,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:39Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d5c44c9-1f5b-4656-92f1-c31b315d8090","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6d5c44c9-1f5b-4656-92f1-c31b315d8090","object_type":"device","rebac_allow":false,"scope_allow":false,"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":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d2be8950-d01f-11ee-ad1d-cbf3af4d0136"},"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/6d5c44c9-1f5b-4656-92f1-c31b315d8090/signaling 200 9ms","method":"POST","requestID":"d2be8950-d01f-11ee-ad1d-cbf3af4d0136","responseTime":9,"status":200,"url":"/devices/6d5c44c9-1f5b-4656-92f1-c31b315d8090/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8f043451-0e43-47b4-bd57-05640e01fe20"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8f043451-0e43-47b4-bd57-05640e01fe20"},"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":"c8adf0af-1d3e-4812-b049-e40c83c04411"},{"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":"f6d554b6-bc81-48f1-821f-6de0b39295a5"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"a94332c4-aa80-4fcf-bf07-cdb58c4ddaf1"}]},"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/8687b1f8-e630-44a6-a05e-09711ef7ccb7"},{"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/6d5c44c9-1f5b-4656-92f1-c31b315d8090"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":413,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:39Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":413,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.896106,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:39Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454558,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU1OH0.Szpj5fj5_m-dGGRtDJDvmWzyLsY69j4HWb3JRulVcl8"} 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":"d2c05e10-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8f043451-0e43-47b4-bd57-05640e01fe20#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8f043451-0e43-47b4-bd57-05640e01fe20","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"cff9c855-27ae-41e5-947c-09fdf2a2b61e","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454559.4634876} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"37fabecf-b4c1-45b2-9f52-952325a87a19","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454559.4641757} authorization_1 | {"level":"info","message":"POST /relations/update 200 162ms","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":"e9fb532f2f9a035b00f1d3710df51aaf"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":162}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","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%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"262de696-7656-4cd7-b75c-aa2da137e6c8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454559.4661303} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a652e797-a7b3-4eae-955a-fb25ddb9f686","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454559.4664774} authorization_1 | {"level":"info","message":"POST /relations/update 200 118ms","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":"d2c05e10-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":118}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/8f043451-0e43-47b4-bd57-05640e01fe20","user":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway_1 | {"time_local":"20/Feb/2024:18:42:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.884","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e9fb532f2f9a035b00f1d3710df51aaf"} experiment_1 | {"level":"info","message":"POST /experiments? 201 877ms","method":"POST","requestID":"e9fb532f2f9a035b00f1d3710df51aaf","responseTime":877,"status":201,"url":"/experiments?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU1OX0.8opGVX17NIAfthfpjih6NRXQ8M4GNHRUN0Y03SHpcA0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"21317a8d6efac2d42109708e425411e3","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":414,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:39Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":414,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.968006,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:39Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8687b1f8-e630-44a6-a05e-09711ef7ccb7","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/8687b1f8-e630-44a6-a05e-09711ef7ccb7","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454559,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU1OX0.8opGVX17NIAfthfpjih6NRXQ8M4GNHRUN0Y03SHpcA0"} 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":"21317a8d6efac2d42109708e425411e3"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8687b1f8-e630-44a6-a05e-09711ef7ccb7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8687b1f8-e630-44a6-a05e-09711ef7ccb7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:35.920557347Z"}]},"request_id":"1ac17333-fed4-4d5c-8386-a0b5a5709e5e","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454559.4989495} 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":"21317a8d6efac2d42109708e425411e3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/e6f94046-e739-4117-ad89-50d3ae3d50fc'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/e6f94046-e739-4117-ad89-50d3ae3d50fc'"} 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 283ms","method":"POST","requestID":"d2c05e10-d01f-11ee-ad1d-cbf3af4d0136","responseTime":283,"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/8687b1f8-e630-44a6-a05e-09711ef7ccb7? 200 144ms","method":"GET","requestID":"21317a8d6efac2d42109708e425411e3","responseTime":144,"status":200,"url":"/devices/8687b1f8-e630-44a6-a05e-09711ef7ccb7?"} gateway_1 | {"time_local":"20/Feb/2024:18:42:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8687b1f8-e630-44a6-a05e-09711ef7ccb7? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.147","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"21317a8d6efac2d42109708e425411e3"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU1OX0.8opGVX17NIAfthfpjih6NRXQ8M4GNHRUN0Y03SHpcA0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f62bdd1b3ce1c66f3a6d0402716fd3ed","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":415,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:39Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":415,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.706709,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:39Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d5c44c9-1f5b-4656-92f1-c31b315d8090","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/6d5c44c9-1f5b-4656-92f1-c31b315d8090","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454559,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU1OX0.8opGVX17NIAfthfpjih6NRXQ8M4GNHRUN0Y03SHpcA0"} 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":"f62bdd1b3ce1c66f3a6d0402716fd3ed"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d5c44c9-1f5b-4656-92f1-c31b315d8090","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d5c44c9-1f5b-4656-92f1-c31b315d8090","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:36.280228543Z"}]},"request_id":"36a69490-a003-4bdf-bd2c-b55bb98e8988","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454559.6464791} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f62bdd1b3ce1c66f3a6d0402716fd3ed"},"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":"20/Feb/2024:18:42:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6d5c44c9-1f5b-4656-92f1-c31b315d8090? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f62bdd1b3ce1c66f3a6d0402716fd3ed"} device_1 | {"level":"info","message":"GET /devices/6d5c44c9-1f5b-4656-92f1-c31b315d8090? 200 12ms","method":"GET","requestID":"f62bdd1b3ce1c66f3a6d0402716fd3ed","responseTime":12,"status":200,"url":"/devices/6d5c44c9-1f5b-4656-92f1-c31b315d8090?"} device_1 | {"data":{"peerconnection":"e6f94046-e739-4117-ad89-50d3ae3d50fc","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/e6f94046-e739-4117-ad89-50d3ae3d50fc' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"e6f94046-e739-4117-ad89-50d3ae3d50fc","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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e8fd72c06c8f13f2843fccc640cc5132","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/8687b1f8-e630-44a6-a05e-09711ef7ccb7"},{"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/6d5c44c9-1f5b-4656-92f1-c31b315d8090"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/e6f94046-e739-4117-ad89-50d3ae3d50fc"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 124ms","method":"POST","requestID":"e8fd72c06c8f13f2843fccc640cc5132","responseTime":124,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:42: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.128","http_referrer":"","http_user_agent":"node-fetch","requestID":"e8fd72c06c8f13f2843fccc640cc5132"} device_1 | {"data":{"peerconnection":"e6f94046-e739-4117-ad89-50d3ae3d50fc","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8f043451-0e43-47b4-bd57-05640e01fe20"},"level":"info","message":"Successfully created peerconnections for experiment"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU2MH0.syz6Z1GgA1eiyF413BGDkZPt3U1ekJj_WdTGoKQYQg8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9d3eff6464e68b473ddb03b06c4b0c36","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/8f043451-0e43-47b4-bd57-05640e01fe20"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":416,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:40Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":416,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.268997,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:40Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/8f043451-0e43-47b4-bd57-05640e01fe20","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/8f043451-0e43-47b4-bd57-05640e01fe20","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454560,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU2MH0.syz6Z1GgA1eiyF413BGDkZPt3U1ekJj_WdTGoKQYQg8"} 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":"9d3eff6464e68b473ddb03b06c4b0c36"},"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/8f043451-0e43-47b4-bd57-05640e01fe20"} gateway_1 | {"time_local":"20/Feb/2024:18:42:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/8f043451-0e43-47b4-bd57-05640e01fe20 HTTP/1.1","status": "200","body_bytes_sent":"1286","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9d3eff6464e68b473ddb03b06c4b0c36"} experiment_1 | {"level":"info","message":"GET /experiments/8f043451-0e43-47b4-bd57-05640e01fe20 200 16ms","method":"GET","requestID":"9d3eff6464e68b473ddb03b06c4b0c36","responseTime":16,"status":200,"url":"/experiments/8f043451-0e43-47b4-bd57-05640e01fe20"} device_1 | {"data":{"peerconnection":"e6f94046-e739-4117-ad89-50d3ae3d50fc","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU2MH0.syz6Z1GgA1eiyF413BGDkZPt3U1ekJj_WdTGoKQYQg8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"87acd997324b855176c202fcf1d9d711","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/8f043451-0e43-47b4-bd57-05640e01fe20"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":417,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:40Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":417,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":2.256098,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:40Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/8f043451-0e43-47b4-bd57-05640e01fe20","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/8f043451-0e43-47b4-bd57-05640e01fe20","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454560,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU2MH0.syz6Z1GgA1eiyF413BGDkZPt3U1ekJj_WdTGoKQYQg8"} 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":"87acd997324b855176c202fcf1d9d711"},"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/8f043451-0e43-47b4-bd57-05640e01fe20"} gateway_1 | {"time_local":"20/Feb/2024:18:42:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/8f043451-0e43-47b4-bd57-05640e01fe20 HTTP/1.1","status": "200","body_bytes_sent":"1286","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"87acd997324b855176c202fcf1d9d711"} experiment_1 | {"level":"info","message":"GET /experiments/8f043451-0e43-47b4-bd57-05640e01fe20 200 16ms","method":"GET","requestID":"87acd997324b855176c202fcf1d9d711","responseTime":16,"status":200,"url":"/experiments/8f043451-0e43-47b4-bd57-05640e01fe20"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/e6f94046-e739-4117-ad89-50d3ae3d50fc' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"e6f94046-e739-4117-ad89-50d3ae3d50fc","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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"be42eab9ce6f620a8529a25ef8b1847c","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/8687b1f8-e630-44a6-a05e-09711ef7ccb7"},{"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/6d5c44c9-1f5b-4656-92f1-c31b315d8090"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/e6f94046-e739-4117-ad89-50d3ae3d50fc"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":418,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:40Z"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","contextual_tuples":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe6f94046-e739-4117-ad89-50d3ae3d50fc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"440b9ce9-8613-4548-86e6-69f9a6a1590b","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454560.296178} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":418,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":4.039356,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:40Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/e6f94046-e739-4117-ad89-50d3ae3d50fc","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/e6f94046-e739-4117-ad89-50d3ae3d50fc","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d3506910-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU2MH0.syz6Z1GgA1eiyF413BGDkZPt3U1ekJj_WdTGoKQYQg8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"a967c4f3c1e496b5de4e61a43e7bf1cb","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/8f043451-0e43-47b4-bd57-05640e01fe20"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":419,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:40Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":419,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.294735,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:40Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/8f043451-0e43-47b4-bd57-05640e01fe20","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/8f043451-0e43-47b4-bd57-05640e01fe20","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454560,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU2MH0.syz6Z1GgA1eiyF413BGDkZPt3U1ekJj_WdTGoKQYQg8"} 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":"a967c4f3c1e496b5de4e61a43e7bf1cb"},"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/8f043451-0e43-47b4-bd57-05640e01fe20"} gateway_1 | {"time_local":"20/Feb/2024:18:42:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/8f043451-0e43-47b4-bd57-05640e01fe20 HTTP/1.1","status": "200","body_bytes_sent":"1286","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a967c4f3c1e496b5de4e61a43e7bf1cb"} experiment_1 | {"level":"info","message":"GET /experiments/8f043451-0e43-47b4-bd57-05640e01fe20 200 16ms","method":"GET","requestID":"a967c4f3c1e496b5de4e61a43e7bf1cb","responseTime":16,"status":200,"url":"/experiments/8f043451-0e43-47b4-bd57-05640e01fe20"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"GET /peerconnections/e6f94046-e739-4117-ad89-50d3ae3d50fc 200 137ms","method":"GET","requestID":"d3506910-d01f-11ee-ad1d-cbf3af4d0136","responseTime":137,"status":200,"url":"/peerconnections/e6f94046-e739-4117-ad89-50d3ae3d50fc"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU2MH0.syz6Z1GgA1eiyF413BGDkZPt3U1ekJj_WdTGoKQYQg8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"89335ca5f055414657cc6a4d3000331f","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/8f043451-0e43-47b4-bd57-05640e01fe20"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":420,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:40Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":420,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.813193,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:40Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/8f043451-0e43-47b4-bd57-05640e01fe20","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/8f043451-0e43-47b4-bd57-05640e01fe20","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454560,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU2MH0.syz6Z1GgA1eiyF413BGDkZPt3U1ekJj_WdTGoKQYQg8"} 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":"89335ca5f055414657cc6a4d3000331f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 313ms","method":"POST","requestID":"be42eab9ce6f620a8529a25ef8b1847c","responseTime":313,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:42:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.316","http_referrer":"","http_user_agent":"node-fetch","requestID":"be42eab9ce6f620a8529a25ef8b1847c"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/8f043451-0e43-47b4-bd57-05640e01fe20"} gateway_1 | {"time_local":"20/Feb/2024:18:42:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/8f043451-0e43-47b4-bd57-05640e01fe20 HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.139","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"89335ca5f055414657cc6a4d3000331f"} experiment_1 | {"level":"info","message":"GET /experiments/8f043451-0e43-47b4-bd57-05640e01fe20 200 133ms","method":"GET","requestID":"89335ca5f055414657cc6a4d3000331f","responseTime":133,"status":200,"url":"/experiments/8f043451-0e43-47b4-bd57-05640e01fe20"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU2MH0.syz6Z1GgA1eiyF413BGDkZPt3U1ekJj_WdTGoKQYQg8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c81bce327485335b124915b12a9d61c4","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/8f043451-0e43-47b4-bd57-05640e01fe20"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":421,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:40Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":421,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.978423,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:40Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/8f043451-0e43-47b4-bd57-05640e01fe20","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/8f043451-0e43-47b4-bd57-05640e01fe20","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454560,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU2MH0.syz6Z1GgA1eiyF413BGDkZPt3U1ekJj_WdTGoKQYQg8"} 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":"c81bce327485335b124915b12a9d61c4"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8f043451-0e43-47b4-bd57-05640e01fe20"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":422,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:40Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":422,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.361672,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:40Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/e6f94046-e739-4117-ad89-50d3ae3d50fc","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"peerconnection:http://localhost/peerconnections/e6f94046-e739-4117-ad89-50d3ae3d50fc","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454560,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU2MH0.syz6Z1GgA1eiyF413BGDkZPt3U1ekJj_WdTGoKQYQg8"} 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":"d38311d0-d01f-11ee-ad1d-cbf3af4d0136"},"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/e6f94046-e739-4117-ad89-50d3ae3d50fc' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/e6f94046-e739-4117-ad89-50d3ae3d50fc' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"e6f94046-e739-4117-ad89-50d3ae3d50fc","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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e0f6cac82b96ae8282200dd090dd7752","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/8687b1f8-e630-44a6-a05e-09711ef7ccb7"},{"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/6d5c44c9-1f5b-4656-92f1-c31b315d8090"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/e6f94046-e739-4117-ad89-50d3ae3d50fc"}}},"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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"0134e9c6bfa22474dbc5f76b35a802b7","responseTime":2,"status":200,"url":"/auth"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe6f94046-e739-4117-ad89-50d3ae3d50fc': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe6f94046-e739-4117-ad89-50d3ae3d50fc","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]},"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":null},"raw_response":{},"request_id":"7a559d00-c96a-4180-a8f6-94a0a9f2c178","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454560.6477208} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"026300a6-e978-46dc-8937-e06a98abf650","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454560.6479173} 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/8687b1f8-e630-44a6-a05e-09711ef7ccb7"},{"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/6d5c44c9-1f5b-4656-92f1-c31b315d8090"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/e6f94046-e739-4117-ad89-50d3ae3d50fc"}}},"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":"d38311d0-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} device_1 | {"data":{"peerconnection":"e6f94046-e739-4117-ad89-50d3ae3d50fc","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/e6f94046-e739-4117-ad89-50d3ae3d50fc 204 266ms","method":"DELETE","requestID":"d38311d0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":266,"status":204,"url":"/peerconnections/e6f94046-e739-4117-ad89-50d3ae3d50fc"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8f043451-0e43-47b4-bd57-05640e01fe20"},"level":"info","message":"Successfully finished experiment"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8f043451-0e43-47b4-bd57-05640e01fe20': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8f043451-0e43-47b4-bd57-05640e01fe20","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]},"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":null},"raw_response":{},"request_id":"ef84255d-4449-4f51-8763-b99bb1ee819e","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454561.1574345} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"83ff4bae-ca20-4ec6-a96a-0040bef7de4c","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454561.1577766} authorization_1 | {"level":"info","message":"POST /relations/update 200 138ms","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":"c81bce327485335b124915b12a9d61c4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":138}} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/8f043451-0e43-47b4-bd57-05640e01fe20"} gateway_1 | {"time_local":"20/Feb/2024:18:42:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/8f043451-0e43-47b4-bd57-05640e01fe20 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"1.350","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c81bce327485335b124915b12a9d61c4"} experiment_1 | {"level":"info","message":"DELETE /experiments/8f043451-0e43-47b4-bd57-05640e01fe20 204 1346ms","method":"DELETE","requestID":"c81bce327485335b124915b12a9d61c4","responseTime":1346,"status":204,"url":"/experiments/8f043451-0e43-47b4-bd57-05640e01fe20"} gateway_1 | {"time_local":"20/Feb/2024:18:42:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1640","request_time":"4.853","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"172de598ae03832fc93284751fb53a37"} gateway_1 | {"time_local":"20/Feb/2024:18:42: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":"1.315","http_referrer":"","http_user_agent":"node-fetch","requestID":"e0f6cac82b96ae8282200dd090dd7752"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1311ms","method":"POST","requestID":"e0f6cac82b96ae8282200dd090dd7752","responseTime":1311,"status":200,"url":"/callbacks/experiment"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1312ms","method":"POST","requestID":"0134e9c6bfa22474dbc5f76b35a802b7","responseTime":1312,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:42: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":"1.318","http_referrer":"","http_user_agent":"node-fetch","requestID":"0134e9c6bfa22474dbc5f76b35a802b7"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU2MX0.rFer0ytAWdb3d2bKBG4pHw_z9oIrIP1h6Lhoa9uIBCg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"9d02ca8b21817922fe3b207cf4c0b150","responseTime":7,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} gateway_1 | {"time_local":"20/Feb/2024:18:42:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1724","request_time":"3.586","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"6154aecdca032c297cfe5a68ce5112fe"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":423,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:41Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":423,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.965084,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:41Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454561,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU2MX0.rFer0ytAWdb3d2bKBG4pHw_z9oIrIP1h6Lhoa9uIBCg"} 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":"9d02ca8b21817922fe3b207cf4c0b150"},"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/6d5c44c9-1f5b-4656-92f1-c31b315d8090' 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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0838c1a1-a707-4d25-9415-2924b9ded1a5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"f4fce2b1-4225-4f13-a1f7-9ec45c00aab7","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454562.307707} 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":"9d02ca8b21817922fe3b207cf4c0b150"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0a48bd77-1c71-42a0-b574-f9e05476a70d","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454562.3145764} 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":"9d02ca8b21817922fe3b207cf4c0b150"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/8687b1f8-e630-44a6-a05e-09711ef7ccb7' closed"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0838c1a1-a707-4d25-9415-2924b9ded1a5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"c6734821-6ba9-4c8a-8bd3-92e57d5a70a7","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454562.5551744} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1598c05a-68bf-4f8b-a567-75b5ac0b523f","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454562.5554352} authorization_1 | {"level":"info","message":"POST /relations/update 200 244ms","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":"9d02ca8b21817922fe3b207cf4c0b150"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":244}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0838c1a1-a707-4d25-9415-2924b9ded1a5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0838c1a1-a707-4d25-9415-2924b9ded1a5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:42.555135454Z"}]},"request_id":"6b17afdc-e8a5-4cb2-842c-0bb06a74c459","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454562.5625758} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9d02ca8b21817922fe3b207cf4c0b150"},"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 603ms","method":"POST","requestID":"9d02ca8b21817922fe3b207cf4c0b150","responseTime":603,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"20/Feb/2024:18:42:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.614","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9d02ca8b21817922fe3b207cf4c0b150"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU2Mn0.vjPjQYFxhvoeG8ZV6AlwN8XJ17fZba3G-BOKQc_rJgU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"11e49fbe78200a03d4b7ddf0cdfa76d0","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":424,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:42Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":424,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.236894,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:42Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454562,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU2Mn0.vjPjQYFxhvoeG8ZV6AlwN8XJ17fZba3G-BOKQc_rJgU"} 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":"11e49fbe78200a03d4b7ddf0cdfa76d0"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c344061-0d67-4e12-86c5-c7cf40011edd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c47e8f6b-7563-4301-907d-524a0db188b0","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454562.7579014} 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":"11e49fbe78200a03d4b7ddf0cdfa76d0"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"abbdd045-1f64-42eb-be45-19a8c0b73cc9","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454562.7661555} 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":"11e49fbe78200a03d4b7ddf0cdfa76d0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c344061-0d67-4e12-86c5-c7cf40011edd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"d545858a-881c-48f5-bc7b-8672e55e0cf3","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454562.941276} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"837e033f-74e1-40d2-a46a-5886acb836ea","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454562.9413757} authorization_1 | {"level":"info","message":"POST /relations/update 200 179ms","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":"11e49fbe78200a03d4b7ddf0cdfa76d0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":179}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c344061-0d67-4e12-86c5-c7cf40011edd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c344061-0d67-4e12-86c5-c7cf40011edd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:42.941239433Z"}]},"request_id":"0234b0c6-c82d-4cd6-b317-45bacfdd340d","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454562.9488232} 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":"11e49fbe78200a03d4b7ddf0cdfa76d0"},"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 377ms","method":"POST","requestID":"11e49fbe78200a03d4b7ddf0cdfa76d0","responseTime":377,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"20/Feb/2024:18:42:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.411","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"11e49fbe78200a03d4b7ddf0cdfa76d0"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU2M30.mauzBGlUakYK0kUhk-uo55U5U1ddtVEDl1p0DMesu78","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"28592abd6f37eb9be960bc7474151537","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":425,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:43Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":425,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.077672,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:43Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c344061-0d67-4e12-86c5-c7cf40011edd","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/3c344061-0d67-4e12-86c5-c7cf40011edd","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454563,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU2M30.mauzBGlUakYK0kUhk-uo55U5U1ddtVEDl1p0DMesu78"} 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":"28592abd6f37eb9be960bc7474151537"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c344061-0d67-4e12-86c5-c7cf40011edd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c344061-0d67-4e12-86c5-c7cf40011edd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:42.941239433Z"}]},"request_id":"33e24342-0906-4c48-9166-25bd4ad7b5f4","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454563.4473107} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"28592abd6f37eb9be960bc7474151537"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"958f260b-c285-49cd-942d-fbbfe9d60851","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454563.4533942} 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":"28592abd6f37eb9be960bc7474151537"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c344061-0d67-4e12-86c5-c7cf40011edd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c344061-0d67-4e12-86c5-c7cf40011edd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:42.941239433Z"}]},"request_id":"110bf07e-a10c-4a94-b8a8-670b643ad097","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454563.6093965} 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":"28592abd6f37eb9be960bc7474151537"},"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/3c344061-0d67-4e12-86c5-c7cf40011edd 200 178ms","method":"PATCH","requestID":"28592abd6f37eb9be960bc7474151537","responseTime":178,"status":200,"url":"/devices/3c344061-0d67-4e12-86c5-c7cf40011edd"} gateway_1 | {"time_local":"20/Feb/2024:18:42:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/3c344061-0d67-4e12-86c5-c7cf40011edd HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.183","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"28592abd6f37eb9be960bc7474151537"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU2M30.mauzBGlUakYK0kUhk-uo55U5U1ddtVEDl1p0DMesu78","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b8b3f8f37576f61bf6b6e2782679140e","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":426,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:43Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":426,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.142725,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:43Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c344061-0d67-4e12-86c5-c7cf40011edd","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/3c344061-0d67-4e12-86c5-c7cf40011edd","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454563,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU2M30.mauzBGlUakYK0kUhk-uo55U5U1ddtVEDl1p0DMesu78"} 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":"b8b3f8f37576f61bf6b6e2782679140e"},"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/3c344061-0d67-4e12-86c5-c7cf40011edd/websocket 200 153ms","method":"POST","requestID":"b8b3f8f37576f61bf6b6e2782679140e","responseTime":153,"status":200,"url":"/devices/3c344061-0d67-4e12-86c5-c7cf40011edd/websocket"} gateway_1 | {"time_local":"20/Feb/2024:18:42:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/3c344061-0d67-4e12-86c5-c7cf40011edd/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.158","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"b8b3f8f37576f61bf6b6e2782679140e"} device_1 | {"level":"info","message":"device 'http://localhost/devices/3c344061-0d67-4e12-86c5-c7cf40011edd' 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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"3e2adb669bb9fd4e17c79c9e22153e44","responseTime":2,"status":200,"url":"/auth"} gateway_1 | {"time_local":"20/Feb/2024:18:42:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/0838c1a1-a707-4d25-9415-2924b9ded1a5/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":"3e2adb669bb9fd4e17c79c9e22153e44"} device_1 | {"level":"info","message":"OPTIONS /devices/0838c1a1-a707-4d25-9415-2924b9ded1a5/websocket 200 1ms","method":"OPTIONS","requestID":"3e2adb669bb9fd4e17c79c9e22153e44","responseTime":1,"status":200,"url":"/devices/0838c1a1-a707-4d25-9415-2924b9ded1a5/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU2NH0.4xjNY6nDvFyyhnBqAiCmoHkLUzHhgiASkqUYJji6Vxc","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"45f03be7d530fe17bffab6246537ef9c","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":427,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:44Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":427,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.181228,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:44Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0838c1a1-a707-4d25-9415-2924b9ded1a5","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/0838c1a1-a707-4d25-9415-2924b9ded1a5","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454564,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU2NH0.4xjNY6nDvFyyhnBqAiCmoHkLUzHhgiASkqUYJji6Vxc"} 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":"45f03be7d530fe17bffab6246537ef9c"},"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":"20/Feb/2024:18:42:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/0838c1a1-a707-4d25-9415-2924b9ded1a5/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.173","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"45f03be7d530fe17bffab6246537ef9c"} device_1 | {"level":"info","message":"POST /devices/0838c1a1-a707-4d25-9415-2924b9ded1a5/websocket 200 168ms","method":"POST","requestID":"45f03be7d530fe17bffab6246537ef9c","responseTime":168,"status":200,"url":"/devices/0838c1a1-a707-4d25-9415-2924b9ded1a5/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/0838c1a1-a707-4d25-9415-2924b9ded1a5' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU2NX0.e_nfnRlNzffaytl9IjK0tiNExoSEggsl8m1bzOuW1sM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"98a5bfa13ea23bf421067767d6029511","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":428,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:45Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":428,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.715205,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:45Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0838c1a1-a707-4d25-9415-2924b9ded1a5","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/0838c1a1-a707-4d25-9415-2924b9ded1a5","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454565,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU2NX0.e_nfnRlNzffaytl9IjK0tiNExoSEggsl8m1bzOuW1sM"} 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":"98a5bfa13ea23bf421067767d6029511"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0838c1a1-a707-4d25-9415-2924b9ded1a5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0838c1a1-a707-4d25-9415-2924b9ded1a5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:42.555135454Z"}]},"request_id":"68d8f93a-a239-4d45-8183-0a074aa11753","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454565.2218397} 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":"98a5bfa13ea23bf421067767d6029511"},"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/0838c1a1-a707-4d25-9415-2924b9ded1a5? 200 15ms","method":"GET","requestID":"98a5bfa13ea23bf421067767d6029511","responseTime":15,"status":200,"url":"/devices/0838c1a1-a707-4d25-9415-2924b9ded1a5?"} gateway_1 | {"time_local":"20/Feb/2024:18:42:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0838c1a1-a707-4d25-9415-2924b9ded1a5? 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":"98a5bfa13ea23bf421067767d6029511"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU2NX0.e_nfnRlNzffaytl9IjK0tiNExoSEggsl8m1bzOuW1sM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b15d4ce863dc326bff3b800a592a02f6","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":429,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:45Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":429,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.769566,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:45Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c344061-0d67-4e12-86c5-c7cf40011edd","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/3c344061-0d67-4e12-86c5-c7cf40011edd","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454565,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU2NX0.e_nfnRlNzffaytl9IjK0tiNExoSEggsl8m1bzOuW1sM"} 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":"b15d4ce863dc326bff3b800a592a02f6"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c344061-0d67-4e12-86c5-c7cf40011edd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c344061-0d67-4e12-86c5-c7cf40011edd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:42.941239433Z"}]},"request_id":"42c67381-1685-4139-896c-fb9214b6fafb","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454565.2428687} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b15d4ce863dc326bff3b800a592a02f6"},"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":"20/Feb/2024:18:42:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3c344061-0d67-4e12-86c5-c7cf40011edd? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b15d4ce863dc326bff3b800a592a02f6"} device_1 | {"level":"info","message":"GET /devices/3c344061-0d67-4e12-86c5-c7cf40011edd? 200 17ms","method":"GET","requestID":"b15d4ce863dc326bff3b800a592a02f6","responseTime":17,"status":200,"url":"/devices/3c344061-0d67-4e12-86c5-c7cf40011edd?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU2NX0.e_nfnRlNzffaytl9IjK0tiNExoSEggsl8m1bzOuW1sM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"fe00961fdcc351d50f42b953fb4e0a9b","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:48424","level":"info","msg":"Received request.","req_id":430,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:45Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":430,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.216965,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:45Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454565,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU2NX0.e_nfnRlNzffaytl9IjK0tiNExoSEggsl8m1bzOuW1sM"} 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":"fe00961fdcc351d50f42b953fb4e0a9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/9b2146b3-4d3d-4f4a-a280-bf8478acdeeb"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/9b2146b3-4d3d-4f4a-a280-bf8478acdeeb"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/9b2146b3-4d3d-4f4a-a280-bf8478acdeeb"},"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:48424","level":"info","msg":"Received request.","req_id":431,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:45Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":431,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.1534,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:45Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0838c1a1-a707-4d25-9415-2924b9ded1a5","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/0838c1a1-a707-4d25-9415-2924b9ded1a5","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454565,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU2NX0.e_nfnRlNzffaytl9IjK0tiNExoSEggsl8m1bzOuW1sM"} 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":"d6726990-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:53108","level":"info","msg":"Received request.","req_id":432,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:45Z"} authorization_1 | {"client_addr":"127.0.0.1:53108","level":"info","msg":"Sent response.","req_id":432,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.338063,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:45Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c344061-0d67-4e12-86c5-c7cf40011edd","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/3c344061-0d67-4e12-86c5-c7cf40011edd","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454565,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU2NX0.e_nfnRlNzffaytl9IjK0tiNExoSEggsl8m1bzOuW1sM"} 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":"d672b7b0-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0838c1a1-a707-4d25-9415-2924b9ded1a5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0838c1a1-a707-4d25-9415-2924b9ded1a5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:42.555135454Z"}]},"request_id":"1c116b7b-6bde-482c-935c-cb2cc44c4319","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454565.5589929} 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":"d6726990-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c344061-0d67-4e12-86c5-c7cf40011edd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c344061-0d67-4e12-86c5-c7cf40011edd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:42.941239433Z"}]},"request_id":"ca1ba37f-7729-4e75-93a7-2f92718f3e42","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454565.563321} device_1 | {"level":"info","message":"getDevicesByDeviceId 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":"d672b7b0-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"GET /devices/0838c1a1-a707-4d25-9415-2924b9ded1a5? 200 19ms","method":"GET","requestID":"d6726990-d01f-11ee-ad1d-cbf3af4d0136","responseTime":19,"status":200,"url":"/devices/0838c1a1-a707-4d25-9415-2924b9ded1a5?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/3c344061-0d67-4e12-86c5-c7cf40011edd? 200 21ms","method":"GET","requestID":"d672b7b0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":21,"status":200,"url":"/devices/3c344061-0d67-4e12-86c5-c7cf40011edd?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/9b2146b3-4d3d-4f4a-a280-bf8478acdeeb"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/9b2146b3-4d3d-4f4a-a280-bf8478acdeeb"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/9b2146b3-4d3d-4f4a-a280-bf8478acdeeb"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/9b2146b3-4d3d-4f4a-a280-bf8478acdeeb"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/9b2146b3-4d3d-4f4a-a280-bf8478acdeeb"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/9b2146b3-4d3d-4f4a-a280-bf8478acdeeb"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/9b2146b3-4d3d-4f4a-a280-bf8478acdeeb"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/9b2146b3-4d3d-4f4a-a280-bf8478acdeeb"},"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/9b2146b3-4d3d-4f4a-a280-bf8478acdeeb"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":433,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:45Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":433,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.301995,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:45Z"} authorization_1 | {"client_addr":"127.0.0.1:53108","level":"info","msg":"Received request.","req_id":434,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:45Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0838c1a1-a707-4d25-9415-2924b9ded1a5","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/0838c1a1-a707-4d25-9415-2924b9ded1a5","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454565,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU2NX0.e_nfnRlNzffaytl9IjK0tiNExoSEggsl8m1bzOuW1sM"} 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":"d6aeaf40-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"client_addr":"127.0.0.1:53108","level":"info","msg":"Sent response.","req_id":434,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.807812,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:45Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c344061-0d67-4e12-86c5-c7cf40011edd","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/3c344061-0d67-4e12-86c5-c7cf40011edd","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454565,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU2NX0.e_nfnRlNzffaytl9IjK0tiNExoSEggsl8m1bzOuW1sM"} 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":"d6af2470-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0838c1a1-a707-4d25-9415-2924b9ded1a5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0838c1a1-a707-4d25-9415-2924b9ded1a5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:42.555135454Z"}]},"request_id":"c05a98e8-a8d9-4e0e-8280-f34b515b3fb4","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454565.9572086} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d6aeaf40-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c344061-0d67-4e12-86c5-c7cf40011edd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c344061-0d67-4e12-86c5-c7cf40011edd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:42.941239433Z"}]},"request_id":"b4588386-0961-4638-b1e8-65f0de916218","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454565.9582484} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d6af2470-d01f-11ee-ad1d-cbf3af4d0136"},"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/0838c1a1-a707-4d25-9415-2924b9ded1a5? 200 24ms","method":"GET","requestID":"d6aeaf40-d01f-11ee-ad1d-cbf3af4d0136","responseTime":24,"status":200,"url":"/devices/0838c1a1-a707-4d25-9415-2924b9ded1a5?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/3c344061-0d67-4e12-86c5-c7cf40011edd? 200 24ms","method":"GET","requestID":"d6af2470-d01f-11ee-ad1d-cbf3af4d0136","responseTime":24,"status":200,"url":"/devices/3c344061-0d67-4e12-86c5-c7cf40011edd?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":435,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:45Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":435,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":1.009619,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:45Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/0838c1a1-a707-4d25-9415-2924b9ded1a5","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0838c1a1-a707-4d25-9415-2924b9ded1a5","object_type":"device","rebac_allow":false,"scope_allow":false,"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":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d6b2f500-d01f-11ee-ad1d-cbf3af4d0136"},"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/0838c1a1-a707-4d25-9415-2924b9ded1a5/signaling 200 8ms","method":"POST","requestID":"d6b2f500-d01f-11ee-ad1d-cbf3af4d0136","responseTime":8,"status":200,"url":"/devices/0838c1a1-a707-4d25-9415-2924b9ded1a5/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":436,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:45Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":436,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.646964,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:45Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c344061-0d67-4e12-86c5-c7cf40011edd","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3c344061-0d67-4e12-86c5-c7cf40011edd","object_type":"device","rebac_allow":false,"scope_allow":false,"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":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d6b4a2b0-d01f-11ee-ad1d-cbf3af4d0136"},"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/3c344061-0d67-4e12-86c5-c7cf40011edd/signaling 200 8ms","method":"POST","requestID":"d6b4a2b0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":8,"status":200,"url":"/devices/3c344061-0d67-4e12-86c5-c7cf40011edd/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/9b2146b3-4d3d-4f4a-a280-bf8478acdeeb"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/9b2146b3-4d3d-4f4a-a280-bf8478acdeeb"},"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":"c5f912a0-a8e4-4d2c-862f-d169c24df57d"},{"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":"3aa4d0b2-f399-4d64-b2c2-dd38bba45a7e"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"c5b71293-4991-4439-8168-5dd3c7f92815"}]},"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/0838c1a1-a707-4d25-9415-2924b9ded1a5"},{"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/3c344061-0d67-4e12-86c5-c7cf40011edd"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":437,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:45Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":437,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.044188,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:45Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454565,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU2NX0.e_nfnRlNzffaytl9IjK0tiNExoSEggsl8m1bzOuW1sM"} 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":"d6b65060-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F9b2146b3-4d3d-4f4a-a280-bf8478acdeeb#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F9b2146b3-4d3d-4f4a-a280-bf8478acdeeb","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"756c8b74-c375-426e-808a-9e14e5427992","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454566.1078553} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"727623e0-4992-43bd-a435-4a2317eb650b","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454566.108407} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","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%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"ad7c650e-893e-4c12-bb77-23b2444c33b7","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454566.1111333} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d015dc5a-bac4-48df-bd38-1dc7c661881c","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454566.1115422} authorization_1 | {"level":"info","message":"POST /relations/update 200 163ms","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":"fe00961fdcc351d50f42b953fb4e0a9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":163}} authorization_1 | {"level":"info","message":"POST /relations/update 200 113ms","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":"d6b65060-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":113}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/9b2146b3-4d3d-4f4a-a280-bf8478acdeeb","user":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 865ms","method":"POST","requestID":"fe00961fdcc351d50f42b953fb4e0a9b","responseTime":865,"status":201,"url":"/experiments?"} gateway_1 | {"time_local":"20/Feb/2024:18:42:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.874","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fe00961fdcc351d50f42b953fb4e0a9b"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU2Nn0.IOYHHokoMUDKAv2J-L3VqPI04YYX1OIPoMDC-JfIjFA","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2470af4a1bf7da7b16bee5cdbafc9d8c","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":438,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:46Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":438,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.103933,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:46Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0838c1a1-a707-4d25-9415-2924b9ded1a5","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/0838c1a1-a707-4d25-9415-2924b9ded1a5","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454566,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU2Nn0.IOYHHokoMUDKAv2J-L3VqPI04YYX1OIPoMDC-JfIjFA"} 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":"2470af4a1bf7da7b16bee5cdbafc9d8c"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0838c1a1-a707-4d25-9415-2924b9ded1a5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0838c1a1-a707-4d25-9415-2924b9ded1a5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:42.555135454Z"}]},"request_id":"de6be8c5-2836-467a-9d0c-1b7877c95777","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454566.1418753} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2470af4a1bf7da7b16bee5cdbafc9d8c"},"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/6f042d16-e8f5-4b44-85d1-37a75866c765'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/6f042d16-e8f5-4b44-85d1-37a75866c765'"} 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 286ms","method":"POST","requestID":"d6b65060-d01f-11ee-ad1d-cbf3af4d0136","responseTime":286,"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/0838c1a1-a707-4d25-9415-2924b9ded1a5? 200 147ms","method":"GET","requestID":"2470af4a1bf7da7b16bee5cdbafc9d8c","responseTime":147,"status":200,"url":"/devices/0838c1a1-a707-4d25-9415-2924b9ded1a5?"} gateway_1 | {"time_local":"20/Feb/2024:18:42:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0838c1a1-a707-4d25-9415-2924b9ded1a5? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.153","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2470af4a1bf7da7b16bee5cdbafc9d8c"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU2Nn0.IOYHHokoMUDKAv2J-L3VqPI04YYX1OIPoMDC-JfIjFA","level":"info","message":"auth send jwt"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5be8492667bbccfff650cef9e43f7d90","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":439,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:46Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":439,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.115595,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:46Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c344061-0d67-4e12-86c5-c7cf40011edd","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/3c344061-0d67-4e12-86c5-c7cf40011edd","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454566,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU2Nn0.IOYHHokoMUDKAv2J-L3VqPI04YYX1OIPoMDC-JfIjFA"} 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":"5be8492667bbccfff650cef9e43f7d90"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c344061-0d67-4e12-86c5-c7cf40011edd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c344061-0d67-4e12-86c5-c7cf40011edd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:42.941239433Z"}]},"request_id":"1c943460-ade7-4c2c-b065-eabf05e4b520","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454566.2970128} 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":"5be8492667bbccfff650cef9e43f7d90"},"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":"20/Feb/2024:18:42:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3c344061-0d67-4e12-86c5-c7cf40011edd? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5be8492667bbccfff650cef9e43f7d90"} device_1 | {"level":"info","message":"GET /devices/3c344061-0d67-4e12-86c5-c7cf40011edd? 200 14ms","method":"GET","requestID":"5be8492667bbccfff650cef9e43f7d90","responseTime":14,"status":200,"url":"/devices/3c344061-0d67-4e12-86c5-c7cf40011edd?"} device_1 | {"data":{"peerconnection":"6f042d16-e8f5-4b44-85d1-37a75866c765","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/6f042d16-e8f5-4b44-85d1-37a75866c765' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"6f042d16-e8f5-4b44-85d1-37a75866c765","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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"22a753291630ed23913d56e559540cd5","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/0838c1a1-a707-4d25-9415-2924b9ded1a5"},{"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/3c344061-0d67-4e12-86c5-c7cf40011edd"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/6f042d16-e8f5-4b44-85d1-37a75866c765"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 112ms","method":"POST","requestID":"22a753291630ed23913d56e559540cd5","responseTime":112,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:42: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.115","http_referrer":"","http_user_agent":"node-fetch","requestID":"22a753291630ed23913d56e559540cd5"} device_1 | {"data":{"peerconnection":"6f042d16-e8f5-4b44-85d1-37a75866c765","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/9b2146b3-4d3d-4f4a-a280-bf8478acdeeb"},"level":"info","message":"Successfully created peerconnections for experiment"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU2Nn0.IOYHHokoMUDKAv2J-L3VqPI04YYX1OIPoMDC-JfIjFA","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"442a1846ee7f05e7d3376087b80a87ee","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/9b2146b3-4d3d-4f4a-a280-bf8478acdeeb"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":440,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:46Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":440,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.522973,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:46Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/9b2146b3-4d3d-4f4a-a280-bf8478acdeeb","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/9b2146b3-4d3d-4f4a-a280-bf8478acdeeb","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454566,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU2Nn0.IOYHHokoMUDKAv2J-L3VqPI04YYX1OIPoMDC-JfIjFA"} 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":"442a1846ee7f05e7d3376087b80a87ee"},"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/9b2146b3-4d3d-4f4a-a280-bf8478acdeeb"} gateway_1 | {"time_local":"20/Feb/2024:18:42:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/9b2146b3-4d3d-4f4a-a280-bf8478acdeeb HTTP/1.1","status": "200","body_bytes_sent":"1286","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"442a1846ee7f05e7d3376087b80a87ee"} experiment_1 | {"level":"info","message":"GET /experiments/9b2146b3-4d3d-4f4a-a280-bf8478acdeeb 200 15ms","method":"GET","requestID":"442a1846ee7f05e7d3376087b80a87ee","responseTime":15,"status":200,"url":"/experiments/9b2146b3-4d3d-4f4a-a280-bf8478acdeeb"} device_1 | {"data":{"peerconnection":"6f042d16-e8f5-4b44-85d1-37a75866c765","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU2N30.5pdNbdDpvHtc4l6pvNpISGoIIujRvNZokWg-h7fkvyM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"669d29654d0737940a6a1e7e85d4e8ef","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/9b2146b3-4d3d-4f4a-a280-bf8478acdeeb"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":441,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:47Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":441,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.331979,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:47Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/9b2146b3-4d3d-4f4a-a280-bf8478acdeeb","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/9b2146b3-4d3d-4f4a-a280-bf8478acdeeb","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454567,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU2N30.5pdNbdDpvHtc4l6pvNpISGoIIujRvNZokWg-h7fkvyM"} 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":"669d29654d0737940a6a1e7e85d4e8ef"},"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/9b2146b3-4d3d-4f4a-a280-bf8478acdeeb"} gateway_1 | {"time_local":"20/Feb/2024:18:42:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/9b2146b3-4d3d-4f4a-a280-bf8478acdeeb HTTP/1.1","status": "200","body_bytes_sent":"1286","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"669d29654d0737940a6a1e7e85d4e8ef"} experiment_1 | {"level":"info","message":"GET /experiments/9b2146b3-4d3d-4f4a-a280-bf8478acdeeb 200 16ms","method":"GET","requestID":"669d29654d0737940a6a1e7e85d4e8ef","responseTime":16,"status":200,"url":"/experiments/9b2146b3-4d3d-4f4a-a280-bf8478acdeeb"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/6f042d16-e8f5-4b44-85d1-37a75866c765' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"6f042d16-e8f5-4b44-85d1-37a75866c765","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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"530ddf5197a83930ccc84a042fb2c78e","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/0838c1a1-a707-4d25-9415-2924b9ded1a5"},{"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/3c344061-0d67-4e12-86c5-c7cf40011edd"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/6f042d16-e8f5-4b44-85d1-37a75866c765"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":442,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:47Z"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","contextual_tuples":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6f042d16-e8f5-4b44-85d1-37a75866c765","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6430bad3-e380-4301-95ab-040baba294c7","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454567.14817} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":442,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":4.602283,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:47Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/6f042d16-e8f5-4b44-85d1-37a75866c765","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/6f042d16-e8f5-4b44-85d1-37a75866c765","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d765f150-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU2N30.5pdNbdDpvHtc4l6pvNpISGoIIujRvNZokWg-h7fkvyM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"55863f992c4d9b18084fcb00520851f7","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/9b2146b3-4d3d-4f4a-a280-bf8478acdeeb"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":443,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:47Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":443,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.236499,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:47Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/9b2146b3-4d3d-4f4a-a280-bf8478acdeeb","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/9b2146b3-4d3d-4f4a-a280-bf8478acdeeb","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454567,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU2N30.5pdNbdDpvHtc4l6pvNpISGoIIujRvNZokWg-h7fkvyM"} 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":"55863f992c4d9b18084fcb00520851f7"},"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/9b2146b3-4d3d-4f4a-a280-bf8478acdeeb"} gateway_1 | {"time_local":"20/Feb/2024:18:42:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/9b2146b3-4d3d-4f4a-a280-bf8478acdeeb HTTP/1.1","status": "200","body_bytes_sent":"1286","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"55863f992c4d9b18084fcb00520851f7"} experiment_1 | {"level":"info","message":"GET /experiments/9b2146b3-4d3d-4f4a-a280-bf8478acdeeb 200 14ms","method":"GET","requestID":"55863f992c4d9b18084fcb00520851f7","responseTime":14,"status":200,"url":"/experiments/9b2146b3-4d3d-4f4a-a280-bf8478acdeeb"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"GET /peerconnections/6f042d16-e8f5-4b44-85d1-37a75866c765 200 146ms","method":"GET","requestID":"d765f150-d01f-11ee-ad1d-cbf3af4d0136","responseTime":146,"status":200,"url":"/peerconnections/6f042d16-e8f5-4b44-85d1-37a75866c765"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU2N30.5pdNbdDpvHtc4l6pvNpISGoIIujRvNZokWg-h7fkvyM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"536c440b8eab3b68c355715478353614","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/9b2146b3-4d3d-4f4a-a280-bf8478acdeeb"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":444,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:47Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":444,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.845046,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:47Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/9b2146b3-4d3d-4f4a-a280-bf8478acdeeb","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/9b2146b3-4d3d-4f4a-a280-bf8478acdeeb","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454567,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU2N30.5pdNbdDpvHtc4l6pvNpISGoIIujRvNZokWg-h7fkvyM"} 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":"536c440b8eab3b68c355715478353614"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 279ms","method":"POST","requestID":"530ddf5197a83930ccc84a042fb2c78e","responseTime":279,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:42: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.283","http_referrer":"","http_user_agent":"node-fetch","requestID":"530ddf5197a83930ccc84a042fb2c78e"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/9b2146b3-4d3d-4f4a-a280-bf8478acdeeb"} experiment_1 | {"level":"info","message":"GET /experiments/9b2146b3-4d3d-4f4a-a280-bf8478acdeeb 200 79ms","method":"GET","requestID":"536c440b8eab3b68c355715478353614","responseTime":79,"status":200,"url":"/experiments/9b2146b3-4d3d-4f4a-a280-bf8478acdeeb"} gateway_1 | {"time_local":"20/Feb/2024:18:42:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/9b2146b3-4d3d-4f4a-a280-bf8478acdeeb HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.083","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"536c440b8eab3b68c355715478353614"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU2N30.5pdNbdDpvHtc4l6pvNpISGoIIujRvNZokWg-h7fkvyM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"5f991dc6201a5d7a5dda7b9019f3a458","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/9b2146b3-4d3d-4f4a-a280-bf8478acdeeb"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":445,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:47Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":445,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.438519,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:47Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/9b2146b3-4d3d-4f4a-a280-bf8478acdeeb","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/9b2146b3-4d3d-4f4a-a280-bf8478acdeeb","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454567,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU2N30.5pdNbdDpvHtc4l6pvNpISGoIIujRvNZokWg-h7fkvyM"} 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":"5f991dc6201a5d7a5dda7b9019f3a458"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/9b2146b3-4d3d-4f4a-a280-bf8478acdeeb"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":446,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:47Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":446,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.783177,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:47Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/6f042d16-e8f5-4b44-85d1-37a75866c765","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"peerconnection:http://localhost/peerconnections/6f042d16-e8f5-4b44-85d1-37a75866c765","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454567,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU2N30.5pdNbdDpvHtc4l6pvNpISGoIIujRvNZokWg-h7fkvyM"} 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":"d7942d40-d01f-11ee-ad1d-cbf3af4d0136"},"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/6f042d16-e8f5-4b44-85d1-37a75866c765' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/6f042d16-e8f5-4b44-85d1-37a75866c765' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"6f042d16-e8f5-4b44-85d1-37a75866c765","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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6f042d16-e8f5-4b44-85d1-37a75866c765': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6f042d16-e8f5-4b44-85d1-37a75866c765","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]},"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":null},"raw_response":{},"request_id":"cb81deb1-7367-400b-9848-1124bd138867","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454567.4662058} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"8943164ca387f443de5c69463b0c9dae","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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"35d764e8-035e-4d24-8111-2a0a9226bae3","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454567.4668589} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/0838c1a1-a707-4d25-9415-2924b9ded1a5"},{"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/3c344061-0d67-4e12-86c5-c7cf40011edd"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/6f042d16-e8f5-4b44-85d1-37a75866c765"}}},"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":"d7942d40-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b50ea63f3ef03273034c3b694aae59da","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/0838c1a1-a707-4d25-9415-2924b9ded1a5"},{"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/3c344061-0d67-4e12-86c5-c7cf40011edd"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/6f042d16-e8f5-4b44-85d1-37a75866c765"}}},"level":"info","message":"received a callback"} device_1 | {"data":{"peerconnection":"6f042d16-e8f5-4b44-85d1-37a75866c765","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/6f042d16-e8f5-4b44-85d1-37a75866c765 204 277ms","method":"DELETE","requestID":"d7942d40-d01f-11ee-ad1d-cbf3af4d0136","responseTime":277,"status":204,"url":"/peerconnections/6f042d16-e8f5-4b44-85d1-37a75866c765"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/9b2146b3-4d3d-4f4a-a280-bf8478acdeeb"},"level":"info","message":"Successfully finished experiment"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F9b2146b3-4d3d-4f4a-a280-bf8478acdeeb': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F9b2146b3-4d3d-4f4a-a280-bf8478acdeeb","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]},"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":null},"raw_response":{},"request_id":"9b9d6b49-426f-4104-9e68-f350a3f03de1","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454568.00215} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1f2aed4a-f3dc-42fd-9cda-9d753c3c60d4","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454568.0025656} authorization_1 | {"level":"info","message":"POST /relations/update 200 148ms","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":"5f991dc6201a5d7a5dda7b9019f3a458"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":148}} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/9b2146b3-4d3d-4f4a-a280-bf8478acdeeb"} gateway_1 | {"time_local":"20/Feb/2024:18:42:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/9b2146b3-4d3d-4f4a-a280-bf8478acdeeb HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"1.340","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5f991dc6201a5d7a5dda7b9019f3a458"} gateway_1 | {"time_local":"20/Feb/2024:18:42:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1640","request_time":"4.985","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"76ecc0ee90264c9835cb4e514e52c5be"} experiment_1 | {"level":"info","message":"DELETE /experiments/9b2146b3-4d3d-4f4a-a280-bf8478acdeeb 204 1335ms","method":"DELETE","requestID":"5f991dc6201a5d7a5dda7b9019f3a458","responseTime":1335,"status":204,"url":"/experiments/9b2146b3-4d3d-4f4a-a280-bf8478acdeeb"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1299ms","method":"POST","requestID":"8943164ca387f443de5c69463b0c9dae","responseTime":1299,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:42: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":"1.302","http_referrer":"","http_user_agent":"node-fetch","requestID":"8943164ca387f443de5c69463b0c9dae"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1301ms","method":"POST","requestID":"b50ea63f3ef03273034c3b694aae59da","responseTime":1301,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:42: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":"1.305","http_referrer":"","http_user_agent":"node-fetch","requestID":"b50ea63f3ef03273034c3b694aae59da"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU2OH0.e3zbYzsmtwpWf2UK0JsfWMLgqw3-jxven7sj7UMJDz0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"21282fb0a80d9d2bbd53296712dc0655","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} gateway_1 | {"time_local":"20/Feb/2024:18:42:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1724","request_time":"3.726","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"1ecb4a017b6966d0580c8b8a1790de35"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":447,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:48Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":447,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.764015,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:48Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454568,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU2OH0.e3zbYzsmtwpWf2UK0JsfWMLgqw3-jxven7sj7UMJDz0"} 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":"21282fb0a80d9d2bbd53296712dc0655"},"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/3c344061-0d67-4e12-86c5-c7cf40011edd' 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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F13742da6-41fa-4d46-bad3-4b80a7a6222d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"fd575961-618c-4c63-9488-8161f1d926ab","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454569.1016688} 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":"21282fb0a80d9d2bbd53296712dc0655"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1f7d1f52-f282-4064-b07d-969e955875ee","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454569.1089828} 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":"21282fb0a80d9d2bbd53296712dc0655"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/0838c1a1-a707-4d25-9415-2924b9ded1a5' closed"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F13742da6-41fa-4d46-bad3-4b80a7a6222d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"65bca354-be5a-403c-8831-22aa4d47eb2d","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454569.3739853} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2174242e-09e5-4cf3-9c54-7e7580625051","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454569.3741872} authorization_1 | {"level":"info","message":"POST /relations/update 200 271ms","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":"21282fb0a80d9d2bbd53296712dc0655"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":271}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F13742da6-41fa-4d46-bad3-4b80a7a6222d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F13742da6-41fa-4d46-bad3-4b80a7a6222d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:49.373948370Z"}]},"request_id":"9ecf4a13-b7e9-4ebb-8760-e10781a00c8a","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454569.3844912} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"21282fb0a80d9d2bbd53296712dc0655"},"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 614ms","method":"POST","requestID":"21282fb0a80d9d2bbd53296712dc0655","responseTime":614,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"20/Feb/2024:18:42:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.624","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"21282fb0a80d9d2bbd53296712dc0655"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU2OX0.OGQyAMd5IHe52wQOPhsgR-oR5AWN0S-SPhVDHCnfANs","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6fbe1edf508e4963720e10d62a2bd865","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":448,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:49Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":448,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.022079,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:49Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454569,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU2OX0.OGQyAMd5IHe52wQOPhsgR-oR5AWN0S-SPhVDHCnfANs"} 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":"6fbe1edf508e4963720e10d62a2bd865"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd83ce77-e52d-4c12-975b-02def16ed94a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"fb9e420e-de7b-4c29-8570-767cd53ab5b3","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454569.5586793} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6fbe1edf508e4963720e10d62a2bd865"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3768c822-cbd8-4970-8cf5-c93e7838faec","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454569.5665047} 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":"6fbe1edf508e4963720e10d62a2bd865"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd83ce77-e52d-4c12-975b-02def16ed94a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"daf66983-6b1e-4c25-8694-54787cee4ca8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454569.7347295} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"589f7202-d9d7-4ec0-b013-4c588038c425","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454569.7348437} authorization_1 | {"level":"info","message":"POST /relations/update 200 171ms","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":"6fbe1edf508e4963720e10d62a2bd865"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":171}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd83ce77-e52d-4c12-975b-02def16ed94a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd83ce77-e52d-4c12-975b-02def16ed94a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:49.734706744Z"}]},"request_id":"1bc0d0f2-cbd7-4015-bef0-fef25d1b742d","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454569.7414715} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6fbe1edf508e4963720e10d62a2bd865"},"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 351ms","method":"POST","requestID":"6fbe1edf508e4963720e10d62a2bd865","responseTime":351,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"20/Feb/2024:18:42:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.384","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6fbe1edf508e4963720e10d62a2bd865"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU3MH0.xl09M8uId7KuCuhsLIu4naLci4KcArBAm4ERpbb9My0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b2e05bacb070afaa95f8a81424a8c16f","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":449,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:50Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":449,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.854338,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:50Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/13742da6-41fa-4d46-bad3-4b80a7a6222d","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/13742da6-41fa-4d46-bad3-4b80a7a6222d","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454570,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU3MH0.xl09M8uId7KuCuhsLIu4naLci4KcArBAm4ERpbb9My0"} 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":"b2e05bacb070afaa95f8a81424a8c16f"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F13742da6-41fa-4d46-bad3-4b80a7a6222d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F13742da6-41fa-4d46-bad3-4b80a7a6222d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:49.373948370Z"}]},"request_id":"093d2f98-f0ad-4a73-b97e-a0c2ae45a983","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454570.2250657} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b2e05bacb070afaa95f8a81424a8c16f"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5efd3a48-67cd-4b18-a210-7741474fa557","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454570.2312467} 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":"b2e05bacb070afaa95f8a81424a8c16f"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F13742da6-41fa-4d46-bad3-4b80a7a6222d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F13742da6-41fa-4d46-bad3-4b80a7a6222d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:49.373948370Z"}]},"request_id":"1f11a5a9-a82e-48b1-8f05-4c3f55fd6fb6","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454570.3696878} 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":"b2e05bacb070afaa95f8a81424a8c16f"},"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":"20/Feb/2024:18:42:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/13742da6-41fa-4d46-bad3-4b80a7a6222d HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.165","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"b2e05bacb070afaa95f8a81424a8c16f"} device_1 | {"level":"info","message":"PATCH /devices/13742da6-41fa-4d46-bad3-4b80a7a6222d 200 159ms","method":"PATCH","requestID":"b2e05bacb070afaa95f8a81424a8c16f","responseTime":159,"status":200,"url":"/devices/13742da6-41fa-4d46-bad3-4b80a7a6222d"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU3MH0.xl09M8uId7KuCuhsLIu4naLci4KcArBAm4ERpbb9My0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"18e1d349b813bf717658cc4e0ef11fd8","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":450,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:50Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":450,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.257055,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:50Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/13742da6-41fa-4d46-bad3-4b80a7a6222d","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/13742da6-41fa-4d46-bad3-4b80a7a6222d","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454570,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU3MH0.xl09M8uId7KuCuhsLIu4naLci4KcArBAm4ERpbb9My0"} 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":"18e1d349b813bf717658cc4e0ef11fd8"},"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":"20/Feb/2024:18:42:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/13742da6-41fa-4d46-bad3-4b80a7a6222d/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.125","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"18e1d349b813bf717658cc4e0ef11fd8"} device_1 | {"level":"info","message":"POST /devices/13742da6-41fa-4d46-bad3-4b80a7a6222d/websocket 200 120ms","method":"POST","requestID":"18e1d349b813bf717658cc4e0ef11fd8","responseTime":120,"status":200,"url":"/devices/13742da6-41fa-4d46-bad3-4b80a7a6222d/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/13742da6-41fa-4d46-bad3-4b80a7a6222d' 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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"ce3c112551594dcf30c56f844db242ee","responseTime":2,"status":200,"url":"/auth"} gateway_1 | {"time_local":"20/Feb/2024:18:42:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/dd83ce77-e52d-4c12-975b-02def16ed94a/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":"ce3c112551594dcf30c56f844db242ee"} device_1 | {"level":"info","message":"OPTIONS /devices/dd83ce77-e52d-4c12-975b-02def16ed94a/websocket 200 1ms","method":"OPTIONS","requestID":"ce3c112551594dcf30c56f844db242ee","responseTime":1,"status":200,"url":"/devices/dd83ce77-e52d-4c12-975b-02def16ed94a/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU3MX0.L2VpFzc5PejI1bcJTygthS9m_YSHcUY9tRYRIrOg0HM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9c13f1e025e38aa964803238f249c925","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":451,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:51Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":451,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.025421,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:51Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/dd83ce77-e52d-4c12-975b-02def16ed94a","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/dd83ce77-e52d-4c12-975b-02def16ed94a","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454571,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU3MX0.L2VpFzc5PejI1bcJTygthS9m_YSHcUY9tRYRIrOg0HM"} 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":"9c13f1e025e38aa964803238f249c925"},"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":"20/Feb/2024:18:42:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/dd83ce77-e52d-4c12-975b-02def16ed94a/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.164","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"9c13f1e025e38aa964803238f249c925"} device_1 | {"level":"info","message":"POST /devices/dd83ce77-e52d-4c12-975b-02def16ed94a/websocket 200 159ms","method":"POST","requestID":"9c13f1e025e38aa964803238f249c925","responseTime":159,"status":200,"url":"/devices/dd83ce77-e52d-4c12-975b-02def16ed94a/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/dd83ce77-e52d-4c12-975b-02def16ed94a' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU3Mn0.XF8nWo4hogvkBOOugrxgoXF4mrzpq2gZJn6_iQ7uNHQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"f2f9cdcac7e2842ab929c30f94eb13be","responseTime":6,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":452,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:52Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":452,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.933356,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:52Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/13742da6-41fa-4d46-bad3-4b80a7a6222d","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/13742da6-41fa-4d46-bad3-4b80a7a6222d","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454572,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU3Mn0.XF8nWo4hogvkBOOugrxgoXF4mrzpq2gZJn6_iQ7uNHQ"} 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":"f2f9cdcac7e2842ab929c30f94eb13be"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F13742da6-41fa-4d46-bad3-4b80a7a6222d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F13742da6-41fa-4d46-bad3-4b80a7a6222d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:49.373948370Z"}]},"request_id":"43aaf32e-a144-4fbe-8ce5-827d88092d89","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454572.0195324} 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":"f2f9cdcac7e2842ab929c30f94eb13be"},"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":"20/Feb/2024:18:42:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/13742da6-41fa-4d46-bad3-4b80a7a6222d? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f2f9cdcac7e2842ab929c30f94eb13be"} device_1 | {"level":"info","message":"GET /devices/13742da6-41fa-4d46-bad3-4b80a7a6222d? 200 18ms","method":"GET","requestID":"f2f9cdcac7e2842ab929c30f94eb13be","responseTime":18,"status":200,"url":"/devices/13742da6-41fa-4d46-bad3-4b80a7a6222d?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU3Mn0.XF8nWo4hogvkBOOugrxgoXF4mrzpq2gZJn6_iQ7uNHQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"56142fb8331ed985ea078986a2c29c5b","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":453,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:52Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":453,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.725641,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:52Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dd83ce77-e52d-4c12-975b-02def16ed94a","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/dd83ce77-e52d-4c12-975b-02def16ed94a","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454572,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU3Mn0.XF8nWo4hogvkBOOugrxgoXF4mrzpq2gZJn6_iQ7uNHQ"} 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":"56142fb8331ed985ea078986a2c29c5b"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd83ce77-e52d-4c12-975b-02def16ed94a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd83ce77-e52d-4c12-975b-02def16ed94a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:49.734706744Z"}]},"request_id":"cd9abe5a-ff7a-4542-bf0a-a9a3608a1591","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454572.0363092} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"56142fb8331ed985ea078986a2c29c5b"},"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/dd83ce77-e52d-4c12-975b-02def16ed94a? 200 12ms","method":"GET","requestID":"56142fb8331ed985ea078986a2c29c5b","responseTime":12,"status":200,"url":"/devices/dd83ce77-e52d-4c12-975b-02def16ed94a?"} gateway_1 | {"time_local":"20/Feb/2024:18:42:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/dd83ce77-e52d-4c12-975b-02def16ed94a? 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":"56142fb8331ed985ea078986a2c29c5b"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU3Mn0.XF8nWo4hogvkBOOugrxgoXF4mrzpq2gZJn6_iQ7uNHQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"fd258538a992e11aa3955b6c501b5b6f","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:48424","level":"info","msg":"Received request.","req_id":454,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:52Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":454,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.266829,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:52Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454572,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU3Mn0.XF8nWo4hogvkBOOugrxgoXF4mrzpq2gZJn6_iQ7uNHQ"} 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":"fd258538a992e11aa3955b6c501b5b6f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/188452f0-2565-43b3-9d9a-8434c86b3676"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/188452f0-2565-43b3-9d9a-8434c86b3676"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/188452f0-2565-43b3-9d9a-8434c86b3676"},"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:48424","level":"info","msg":"Received request.","req_id":455,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:52Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":455,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.942212,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:52Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/13742da6-41fa-4d46-bad3-4b80a7a6222d","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/13742da6-41fa-4d46-bad3-4b80a7a6222d","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454572,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU3Mn0.XF8nWo4hogvkBOOugrxgoXF4mrzpq2gZJn6_iQ7uNHQ"} 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":"da7c8020-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:53574","level":"info","msg":"Received request.","req_id":456,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:52Z"} authorization_1 | {"client_addr":"127.0.0.1:53574","level":"info","msg":"Sent response.","req_id":456,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.912549,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:52Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dd83ce77-e52d-4c12-975b-02def16ed94a","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/dd83ce77-e52d-4c12-975b-02def16ed94a","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454572,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU3Mn0.XF8nWo4hogvkBOOugrxgoXF4mrzpq2gZJn6_iQ7uNHQ"} 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":"da7cce40-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F13742da6-41fa-4d46-bad3-4b80a7a6222d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F13742da6-41fa-4d46-bad3-4b80a7a6222d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:49.373948370Z"}]},"request_id":"01817fd4-182f-4e37-9d78-15aeff17aea1","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454572.3369691} 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":"da7c8020-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd83ce77-e52d-4c12-975b-02def16ed94a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd83ce77-e52d-4c12-975b-02def16ed94a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:49.734706744Z"}]},"request_id":"a6eb9134-2d33-44d5-adf6-bc736ef88c7d","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454572.342145} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/13742da6-41fa-4d46-bad3-4b80a7a6222d? 200 22ms","method":"GET","requestID":"da7c8020-d01f-11ee-ad1d-cbf3af4d0136","responseTime":22,"status":200,"url":"/devices/13742da6-41fa-4d46-bad3-4b80a7a6222d?"} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"da7cce40-d01f-11ee-ad1d-cbf3af4d0136"},"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/dd83ce77-e52d-4c12-975b-02def16ed94a? 200 23ms","method":"GET","requestID":"da7cce40-d01f-11ee-ad1d-cbf3af4d0136","responseTime":23,"status":200,"url":"/devices/dd83ce77-e52d-4c12-975b-02def16ed94a?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/188452f0-2565-43b3-9d9a-8434c86b3676"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/188452f0-2565-43b3-9d9a-8434c86b3676"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/188452f0-2565-43b3-9d9a-8434c86b3676"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/188452f0-2565-43b3-9d9a-8434c86b3676"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/188452f0-2565-43b3-9d9a-8434c86b3676"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/188452f0-2565-43b3-9d9a-8434c86b3676"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/188452f0-2565-43b3-9d9a-8434c86b3676"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/188452f0-2565-43b3-9d9a-8434c86b3676"},"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:48424","level":"info","msg":"Received request.","req_id":457,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:52Z"} authorization_1 | {"client_addr":"127.0.0.1:53574","level":"info","msg":"Received request.","req_id":458,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:52Z"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/188452f0-2565-43b3-9d9a-8434c86b3676"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":457,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.149164,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:52Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/13742da6-41fa-4d46-bad3-4b80a7a6222d","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/13742da6-41fa-4d46-bad3-4b80a7a6222d","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454572,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU3Mn0.XF8nWo4hogvkBOOugrxgoXF4mrzpq2gZJn6_iQ7uNHQ"} 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":"dab7b460-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:53574","level":"info","msg":"Sent response.","req_id":458,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.643984,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:52Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dd83ce77-e52d-4c12-975b-02def16ed94a","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/dd83ce77-e52d-4c12-975b-02def16ed94a","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454572,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU3Mn0.XF8nWo4hogvkBOOugrxgoXF4mrzpq2gZJn6_iQ7uNHQ"} 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":"dab80280-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F13742da6-41fa-4d46-bad3-4b80a7a6222d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F13742da6-41fa-4d46-bad3-4b80a7a6222d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:49.373948370Z"}]},"request_id":"1d5b21ad-9f97-4440-a3b8-885866a16758","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454572.7229555} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dab7b460-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd83ce77-e52d-4c12-975b-02def16ed94a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd83ce77-e52d-4c12-975b-02def16ed94a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:49.734706744Z"}]},"request_id":"a2deca05-1e79-4786-a960-ccf39bac4962","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454572.7239242} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dab80280-d01f-11ee-ad1d-cbf3af4d0136"},"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/13742da6-41fa-4d46-bad3-4b80a7a6222d? 200 19ms","method":"GET","requestID":"dab7b460-d01f-11ee-ad1d-cbf3af4d0136","responseTime":19,"status":200,"url":"/devices/13742da6-41fa-4d46-bad3-4b80a7a6222d?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/dd83ce77-e52d-4c12-975b-02def16ed94a? 200 17ms","method":"GET","requestID":"dab80280-d01f-11ee-ad1d-cbf3af4d0136","responseTime":17,"status":200,"url":"/devices/dd83ce77-e52d-4c12-975b-02def16ed94a?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":459,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:52Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":459,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.67896,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:52Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/13742da6-41fa-4d46-bad3-4b80a7a6222d","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/13742da6-41fa-4d46-bad3-4b80a7a6222d","object_type":"device","rebac_allow":false,"scope_allow":false,"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":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dabae8b0-d01f-11ee-ad1d-cbf3af4d0136"},"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/13742da6-41fa-4d46-bad3-4b80a7a6222d/signaling 200 7ms","method":"POST","requestID":"dabae8b0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":7,"status":200,"url":"/devices/13742da6-41fa-4d46-bad3-4b80a7a6222d/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":460,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:52Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":460,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.906342,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:52Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/dd83ce77-e52d-4c12-975b-02def16ed94a","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dd83ce77-e52d-4c12-975b-02def16ed94a","object_type":"device","rebac_allow":false,"scope_allow":false,"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":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dabc4840-d01f-11ee-ad1d-cbf3af4d0136"},"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/dd83ce77-e52d-4c12-975b-02def16ed94a/signaling 200 7ms","method":"POST","requestID":"dabc4840-d01f-11ee-ad1d-cbf3af4d0136","responseTime":7,"status":200,"url":"/devices/dd83ce77-e52d-4c12-975b-02def16ed94a/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/188452f0-2565-43b3-9d9a-8434c86b3676"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/188452f0-2565-43b3-9d9a-8434c86b3676"},"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":"80d07a29-fd34-4e24-909e-959f87651195"},{"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":"6325e38a-0730-4ea8-91e1-22515ac892c5"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"b4505408-0b3f-416e-b714-6f2c894cf868"}]},"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/dd83ce77-e52d-4c12-975b-02def16ed94a"},{"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/13742da6-41fa-4d46-bad3-4b80a7a6222d"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":461,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:52Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":461,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.904377,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:52Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454572,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU3Mn0.XF8nWo4hogvkBOOugrxgoXF4mrzpq2gZJn6_iQ7uNHQ"} 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":"dabdcee0-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F188452f0-2565-43b3-9d9a-8434c86b3676#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F188452f0-2565-43b3-9d9a-8434c86b3676","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"e01d251b-5dc2-4123-ba65-f08f19a855fa","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454572.850596} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1802a0b3-5d5d-4729-a44a-dc55c2dff35b","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454572.8507755} authorization_1 | {"level":"info","message":"POST /relations/update 200 136ms","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":"fd258538a992e11aa3955b6c501b5b6f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":136}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","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%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"376a1b69-3bca-45b1-bf18-be51afc9e5c5","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454572.8523402} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"48121c2f-2d08-4459-bd0f-f37c89488e2f","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454572.8531034} authorization_1 | {"level":"info","message":"POST /relations/update 200 99ms","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":"dabdcee0-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":99}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/188452f0-2565-43b3-9d9a-8434c86b3676","user":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 821ms","method":"POST","requestID":"fd258538a992e11aa3955b6c501b5b6f","responseTime":821,"status":201,"url":"/experiments?"} gateway_1 | {"time_local":"20/Feb/2024:18:42:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.827","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fd258538a992e11aa3955b6c501b5b6f"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU3Mn0.XF8nWo4hogvkBOOugrxgoXF4mrzpq2gZJn6_iQ7uNHQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ce155c5e521bdc6b6ac6da8c7717debe","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":462,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:52Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":462,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.265303,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:52Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/13742da6-41fa-4d46-bad3-4b80a7a6222d","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/13742da6-41fa-4d46-bad3-4b80a7a6222d","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454572,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU3Mn0.XF8nWo4hogvkBOOugrxgoXF4mrzpq2gZJn6_iQ7uNHQ"} 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":"ce155c5e521bdc6b6ac6da8c7717debe"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F13742da6-41fa-4d46-bad3-4b80a7a6222d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F13742da6-41fa-4d46-bad3-4b80a7a6222d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:49.373948370Z"}]},"request_id":"b670b764-c0c7-4e93-8f3b-260efe5b307f","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454572.8876848} 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":"ce155c5e521bdc6b6ac6da8c7717debe"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/101930f6-4cd2-47e9-b32f-7ffd22b5f5c1'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/101930f6-4cd2-47e9-b32f-7ffd22b5f5c1'"} 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 262ms","method":"POST","requestID":"dabdcee0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":263,"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":"20/Feb/2024:18:42:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/13742da6-41fa-4d46-bad3-4b80a7a6222d? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.145","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ce155c5e521bdc6b6ac6da8c7717debe"} device_1 | {"level":"info","message":"GET /devices/13742da6-41fa-4d46-bad3-4b80a7a6222d? 200 140ms","method":"GET","requestID":"ce155c5e521bdc6b6ac6da8c7717debe","responseTime":140,"status":200,"url":"/devices/13742da6-41fa-4d46-bad3-4b80a7a6222d?"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU3M30.Ly_tIr027do8KTH69Ry8Fsg3bpAY6x7IBlPfgd27QiI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"e465d7959454d7a51f3aca4784a56651","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":463,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:53Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":463,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.814263,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:53Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dd83ce77-e52d-4c12-975b-02def16ed94a","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/dd83ce77-e52d-4c12-975b-02def16ed94a","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454573,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU3M30.Ly_tIr027do8KTH69Ry8Fsg3bpAY6x7IBlPfgd27QiI"} 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":"e465d7959454d7a51f3aca4784a56651"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd83ce77-e52d-4c12-975b-02def16ed94a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd83ce77-e52d-4c12-975b-02def16ed94a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:49.734706744Z"}]},"request_id":"80beaeb2-2e96-42d8-99fd-17676e599d29","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454573.0344503} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e465d7959454d7a51f3aca4784a56651"},"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/dd83ce77-e52d-4c12-975b-02def16ed94a? 200 13ms","method":"GET","requestID":"e465d7959454d7a51f3aca4784a56651","responseTime":13,"status":200,"url":"/devices/dd83ce77-e52d-4c12-975b-02def16ed94a?"} gateway_1 | {"time_local":"20/Feb/2024:18:42:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/dd83ce77-e52d-4c12-975b-02def16ed94a? 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":"e465d7959454d7a51f3aca4784a56651"} device_1 | {"data":{"peerconnection":"101930f6-4cd2-47e9-b32f-7ffd22b5f5c1","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/101930f6-4cd2-47e9-b32f-7ffd22b5f5c1' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"101930f6-4cd2-47e9-b32f-7ffd22b5f5c1","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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3788cfef58562e77c600bae7b44f0c71","responseTime":1,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/dd83ce77-e52d-4c12-975b-02def16ed94a"},{"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/13742da6-41fa-4d46-bad3-4b80a7a6222d"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/101930f6-4cd2-47e9-b32f-7ffd22b5f5c1"}}},"level":"info","message":"received a callback"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU3M30.Ly_tIr027do8KTH69Ry8Fsg3bpAY6x7IBlPfgd27QiI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"18cada99effca54f860694ec07f178d1","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/188452f0-2565-43b3-9d9a-8434c86b3676"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 157ms","method":"POST","requestID":"3788cfef58562e77c600bae7b44f0c71","responseTime":157,"status":200,"url":"/callbacks/experiment"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":464,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:53Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":464,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.977789,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:53Z"} gateway_1 | {"time_local":"20/Feb/2024:18:42: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":"3788cfef58562e77c600bae7b44f0c71"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/188452f0-2565-43b3-9d9a-8434c86b3676","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/188452f0-2565-43b3-9d9a-8434c86b3676","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454573,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU3M30.Ly_tIr027do8KTH69Ry8Fsg3bpAY6x7IBlPfgd27QiI"} 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":"18cada99effca54f860694ec07f178d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"data":{"peerconnection":"101930f6-4cd2-47e9-b32f-7ffd22b5f5c1","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/188452f0-2565-43b3-9d9a-8434c86b3676"},"level":"info","message":"Successfully created peerconnections for experiment"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/188452f0-2565-43b3-9d9a-8434c86b3676"} gateway_1 | {"time_local":"20/Feb/2024:18:42:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/188452f0-2565-43b3-9d9a-8434c86b3676 HTTP/1.1","status": "200","body_bytes_sent":"1286","request_time":"0.230","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"18cada99effca54f860694ec07f178d1"} experiment_1 | {"level":"info","message":"GET /experiments/188452f0-2565-43b3-9d9a-8434c86b3676 200 221ms","method":"GET","requestID":"18cada99effca54f860694ec07f178d1","responseTime":221,"status":200,"url":"/experiments/188452f0-2565-43b3-9d9a-8434c86b3676"} device_1 | {"data":{"peerconnection":"101930f6-4cd2-47e9-b32f-7ffd22b5f5c1","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU3M30.Ly_tIr027do8KTH69Ry8Fsg3bpAY6x7IBlPfgd27QiI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"091905e1352bd32b44f508544f7375a9","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/188452f0-2565-43b3-9d9a-8434c86b3676"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":465,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:53Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":465,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.249283,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:53Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/188452f0-2565-43b3-9d9a-8434c86b3676","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/188452f0-2565-43b3-9d9a-8434c86b3676","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454573,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU3M30.Ly_tIr027do8KTH69Ry8Fsg3bpAY6x7IBlPfgd27QiI"} 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":"091905e1352bd32b44f508544f7375a9"},"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/188452f0-2565-43b3-9d9a-8434c86b3676"} gateway_1 | {"time_local":"20/Feb/2024:18:42:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/188452f0-2565-43b3-9d9a-8434c86b3676 HTTP/1.1","status": "200","body_bytes_sent":"1286","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"091905e1352bd32b44f508544f7375a9"} experiment_1 | {"level":"info","message":"GET /experiments/188452f0-2565-43b3-9d9a-8434c86b3676 200 15ms","method":"GET","requestID":"091905e1352bd32b44f508544f7375a9","responseTime":15,"status":200,"url":"/experiments/188452f0-2565-43b3-9d9a-8434c86b3676"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/101930f6-4cd2-47e9-b32f-7ffd22b5f5c1' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"101930f6-4cd2-47e9-b32f-7ffd22b5f5c1","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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"2d86523191cc42245dbc16b947eef0c9","responseTime":1,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/dd83ce77-e52d-4c12-975b-02def16ed94a"},{"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/13742da6-41fa-4d46-bad3-4b80a7a6222d"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/101930f6-4cd2-47e9-b32f-7ffd22b5f5c1"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":466,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:53Z"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","contextual_tuples":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F101930f6-4cd2-47e9-b32f-7ffd22b5f5c1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2a15a1fb-4dd8-45e7-9f7e-873c650fbbd0","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454573.6396224} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":466,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.828949,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:53Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/101930f6-4cd2-47e9-b32f-7ffd22b5f5c1","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/101930f6-4cd2-47e9-b32f-7ffd22b5f5c1","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"db448b10-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU3M30.Ly_tIr027do8KTH69Ry8Fsg3bpAY6x7IBlPfgd27QiI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"1dfdcb347181b94d58247c2873504824","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/188452f0-2565-43b3-9d9a-8434c86b3676"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":467,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:53Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":467,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.162137,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:53Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/188452f0-2565-43b3-9d9a-8434c86b3676","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/188452f0-2565-43b3-9d9a-8434c86b3676","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454573,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU3M30.Ly_tIr027do8KTH69Ry8Fsg3bpAY6x7IBlPfgd27QiI"} 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":"1dfdcb347181b94d58247c2873504824"},"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/188452f0-2565-43b3-9d9a-8434c86b3676"} gateway_1 | {"time_local":"20/Feb/2024:18:42:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/188452f0-2565-43b3-9d9a-8434c86b3676 HTTP/1.1","status": "200","body_bytes_sent":"1286","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1dfdcb347181b94d58247c2873504824"} experiment_1 | {"level":"info","message":"GET /experiments/188452f0-2565-43b3-9d9a-8434c86b3676 200 15ms","method":"GET","requestID":"1dfdcb347181b94d58247c2873504824","responseTime":15,"status":200,"url":"/experiments/188452f0-2565-43b3-9d9a-8434c86b3676"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"GET /peerconnections/101930f6-4cd2-47e9-b32f-7ffd22b5f5c1 200 131ms","method":"GET","requestID":"db448b10-d01f-11ee-ad1d-cbf3af4d0136","responseTime":131,"status":200,"url":"/peerconnections/101930f6-4cd2-47e9-b32f-7ffd22b5f5c1"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU3M30.Ly_tIr027do8KTH69Ry8Fsg3bpAY6x7IBlPfgd27QiI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2b6358e06c51867e8d9d1cc535ec4e11","responseTime":3,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/188452f0-2565-43b3-9d9a-8434c86b3676"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":468,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:53Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":468,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.163142,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:53Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/188452f0-2565-43b3-9d9a-8434c86b3676","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/188452f0-2565-43b3-9d9a-8434c86b3676","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454573,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU3M30.Ly_tIr027do8KTH69Ry8Fsg3bpAY6x7IBlPfgd27QiI"} 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":"2b6358e06c51867e8d9d1cc535ec4e11"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 280ms","method":"POST","requestID":"2d86523191cc42245dbc16b947eef0c9","responseTime":280,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:42: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.284","http_referrer":"","http_user_agent":"node-fetch","requestID":"2d86523191cc42245dbc16b947eef0c9"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/188452f0-2565-43b3-9d9a-8434c86b3676"} gateway_1 | {"time_local":"20/Feb/2024:18:42:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/188452f0-2565-43b3-9d9a-8434c86b3676 HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.120","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2b6358e06c51867e8d9d1cc535ec4e11"} experiment_1 | {"level":"info","message":"GET /experiments/188452f0-2565-43b3-9d9a-8434c86b3676 200 115ms","method":"GET","requestID":"2b6358e06c51867e8d9d1cc535ec4e11","responseTime":115,"status":200,"url":"/experiments/188452f0-2565-43b3-9d9a-8434c86b3676"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU3M30.Ly_tIr027do8KTH69Ry8Fsg3bpAY6x7IBlPfgd27QiI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"62352395f6b628b800b282b87f62526c","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/188452f0-2565-43b3-9d9a-8434c86b3676"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":469,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:53Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":469,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.621245,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:53Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/188452f0-2565-43b3-9d9a-8434c86b3676","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/188452f0-2565-43b3-9d9a-8434c86b3676","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454573,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU3M30.Ly_tIr027do8KTH69Ry8Fsg3bpAY6x7IBlPfgd27QiI"} 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":"62352395f6b628b800b282b87f62526c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/188452f0-2565-43b3-9d9a-8434c86b3676"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":470,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:53Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":470,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.962122,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:53Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/101930f6-4cd2-47e9-b32f-7ffd22b5f5c1","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"peerconnection:http://localhost/peerconnections/101930f6-4cd2-47e9-b32f-7ffd22b5f5c1","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454573,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU3M30.Ly_tIr027do8KTH69Ry8Fsg3bpAY6x7IBlPfgd27QiI"} 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":"db7278e0-d01f-11ee-ad1d-cbf3af4d0136"},"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/101930f6-4cd2-47e9-b32f-7ffd22b5f5c1' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/101930f6-4cd2-47e9-b32f-7ffd22b5f5c1' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"101930f6-4cd2-47e9-b32f-7ffd22b5f5c1","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F101930f6-4cd2-47e9-b32f-7ffd22b5f5c1': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F101930f6-4cd2-47e9-b32f-7ffd22b5f5c1","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]},"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":null},"raw_response":{},"request_id":"2f27a571-6c72-4a00-b7bc-355c042446ef","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454573.9542267} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ef3f083d86ce7575e08f78d151d3e376","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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fce071a8-0941-4949-bf14-4af18af31fa3","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454573.954568} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/dd83ce77-e52d-4c12-975b-02def16ed94a"},{"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/13742da6-41fa-4d46-bad3-4b80a7a6222d"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/101930f6-4cd2-47e9-b32f-7ffd22b5f5c1"}}},"level":"info","message":"received a callback"} 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":"db7278e0-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} authentication_1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"73ec0101b42adf9eebb5f96ef27475b1","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":"connected","url":"http://localhost/devices/dd83ce77-e52d-4c12-975b-02def16ed94a"},{"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/13742da6-41fa-4d46-bad3-4b80a7a6222d"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/101930f6-4cd2-47e9-b32f-7ffd22b5f5c1"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"DELETE /peerconnections/101930f6-4cd2-47e9-b32f-7ffd22b5f5c1 204 25ms","method":"DELETE","requestID":"db7278e0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":25,"status":204,"url":"/peerconnections/101930f6-4cd2-47e9-b32f-7ffd22b5f5c1"} device_1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/dd83ce77-e52d-4c12-975b-02def16ed94a'"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/188452f0-2565-43b3-9d9a-8434c86b3676"},"level":"info","message":"Successfully finished experiment"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F188452f0-2565-43b3-9d9a-8434c86b3676': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F188452f0-2565-43b3-9d9a-8434c86b3676","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]},"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":null},"raw_response":{},"request_id":"0a0f9e26-546f-4395-abf1-c4856ea921c7","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454574.3187017} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"09eb7a61-fb27-42e6-a5e9-957ffc91eac9","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454574.3194296} authorization_1 | {"level":"info","message":"POST /relations/update 200 163ms","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":"62352395f6b628b800b282b87f62526c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":163}} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/188452f0-2565-43b3-9d9a-8434c86b3676"} gateway_1 | {"time_local":"20/Feb/2024:18:42:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/188452f0-2565-43b3-9d9a-8434c86b3676 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"1.222","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"62352395f6b628b800b282b87f62526c"} gateway_1 | {"time_local":"20/Feb/2024:18:42:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1641","request_time":"4.635","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"4ca628f2c6c805ccdfbd4588a42cbcf3"} experiment_1 | {"level":"info","message":"DELETE /experiments/188452f0-2565-43b3-9d9a-8434c86b3676 204 1219ms","method":"DELETE","requestID":"62352395f6b628b800b282b87f62526c","responseTime":1219,"status":204,"url":"/experiments/188452f0-2565-43b3-9d9a-8434c86b3676"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1187ms","method":"POST","requestID":"ef3f083d86ce7575e08f78d151d3e376","responseTime":1187,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:42:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"1.190","http_referrer":"","http_user_agent":"node-fetch","requestID":"ef3f083d86ce7575e08f78d151d3e376"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1187ms","method":"POST","requestID":"73ec0101b42adf9eebb5f96ef27475b1","responseTime":1187,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:42:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"1.190","http_referrer":"","http_user_agent":"node-fetch","requestID":"73ec0101b42adf9eebb5f96ef27475b1"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU3NX0.iMzjYFN95Bf0mYCDLwkogy2X7WREiobpj4fkZta0f6I","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"84b5de0700b747af5090cbdcf7a2aa7a","responseTime":7,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} gateway_1 | {"time_local":"20/Feb/2024:18:42:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1722","request_time":"3.283","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"65a060839073f90a5d8f46dddc162127"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":471,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:55Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":471,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.032814,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:55Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454575,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU3NX0.iMzjYFN95Bf0mYCDLwkogy2X7WREiobpj4fkZta0f6I"} 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":"84b5de0700b747af5090cbdcf7a2aa7a"},"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/13742da6-41fa-4d46-bad3-4b80a7a6222d' 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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F39bca7b0-ae45-4500-b529-98cd4a9ff13b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"eb7f7464-0730-4b0f-b5a5-b2dfce41f31c","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454575.4611518} 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":"84b5de0700b747af5090cbdcf7a2aa7a"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a23a3094-ab13-4cf6-b2a1-1e52e6b3b189","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454575.4685998} 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":"84b5de0700b747af5090cbdcf7a2aa7a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/dd83ce77-e52d-4c12-975b-02def16ed94a' closed"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F39bca7b0-ae45-4500-b529-98cd4a9ff13b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"fa4b5c38-f666-400a-a94e-c26308375811","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454575.674929} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2f870311-71ce-4f8f-ac0a-a8b1e07611b9","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454575.6754131} authorization_1 | {"level":"info","message":"POST /relations/update 200 210ms","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":"84b5de0700b747af5090cbdcf7a2aa7a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":210}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F39bca7b0-ae45-4500-b529-98cd4a9ff13b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F39bca7b0-ae45-4500-b529-98cd4a9ff13b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:55.674897690Z"}]},"request_id":"46c28bcb-5467-43b2-9b97-3768a2e61934","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454575.6817434} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"84b5de0700b747af5090cbdcf7a2aa7a"},"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 535ms","method":"POST","requestID":"84b5de0700b747af5090cbdcf7a2aa7a","responseTime":535,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"20/Feb/2024:18:42:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.546","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"84b5de0700b747af5090cbdcf7a2aa7a"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU3NX0.iMzjYFN95Bf0mYCDLwkogy2X7WREiobpj4fkZta0f6I","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c2fcfd760cd2aa41d477a91fc89b375e","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":472,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:55Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":472,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.166836,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:55Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454575,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU3NX0.iMzjYFN95Bf0mYCDLwkogy2X7WREiobpj4fkZta0f6I"} 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":"c2fcfd760cd2aa41d477a91fc89b375e"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa3c06571-19ba-4a3b-acba-fe30aa3fc64b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ffa0af65-cf8c-41c3-b19d-ce3eafcfea9e","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454575.8935642} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c2fcfd760cd2aa41d477a91fc89b375e"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f14ec05a-f20e-462e-a272-ffbffc3cb6b4","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454575.901098} 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":"c2fcfd760cd2aa41d477a91fc89b375e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa3c06571-19ba-4a3b-acba-fe30aa3fc64b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"41ccdcd1-0ea3-4203-8dd8-ce19fc4eb5b3","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454576.0856192} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9965fb2f-955d-43b7-8450-d764cad9e02b","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454576.085766} authorization_1 | {"level":"info","message":"POST /relations/update 200 188ms","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":"c2fcfd760cd2aa41d477a91fc89b375e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":188}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa3c06571-19ba-4a3b-acba-fe30aa3fc64b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa3c06571-19ba-4a3b-acba-fe30aa3fc64b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:56.085587150Z"}]},"request_id":"9115cd9d-6b74-499b-bc14-a81d31bfcc07","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454576.0935724} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c2fcfd760cd2aa41d477a91fc89b375e"},"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 405ms","method":"POST","requestID":"c2fcfd760cd2aa41d477a91fc89b375e","responseTime":405,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"20/Feb/2024:18:42:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.436","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c2fcfd760cd2aa41d477a91fc89b375e"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU3Nn0.PICQzmXMOCysYm4T5IYR25rFE_GCB4_GYoq_GAgR9Nw","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6e328bb9c9be432acaf761e0c110dd55","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":473,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:56Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":473,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.871528,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:56Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/39bca7b0-ae45-4500-b529-98cd4a9ff13b","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/39bca7b0-ae45-4500-b529-98cd4a9ff13b","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454576,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU3Nn0.PICQzmXMOCysYm4T5IYR25rFE_GCB4_GYoq_GAgR9Nw"} 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":"6e328bb9c9be432acaf761e0c110dd55"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F39bca7b0-ae45-4500-b529-98cd4a9ff13b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F39bca7b0-ae45-4500-b529-98cd4a9ff13b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:55.674897690Z"}]},"request_id":"e746cdda-2e41-4a76-bc80-729460e7c34a","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454576.5778472} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6e328bb9c9be432acaf761e0c110dd55"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"49d7081b-12cc-41b0-9c17-69bd91ebbe24","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454576.5846927} 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":"6e328bb9c9be432acaf761e0c110dd55"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F39bca7b0-ae45-4500-b529-98cd4a9ff13b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F39bca7b0-ae45-4500-b529-98cd4a9ff13b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:55.674897690Z"}]},"request_id":"382c21f4-bde8-4adc-aee8-6b548739d9fe","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454576.754197} 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":"6e328bb9c9be432acaf761e0c110dd55"},"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":"20/Feb/2024:18:42:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/39bca7b0-ae45-4500-b529-98cd4a9ff13b HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.197","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"6e328bb9c9be432acaf761e0c110dd55"} device_1 | {"level":"info","message":"PATCH /devices/39bca7b0-ae45-4500-b529-98cd4a9ff13b 200 192ms","method":"PATCH","requestID":"6e328bb9c9be432acaf761e0c110dd55","responseTime":192,"status":200,"url":"/devices/39bca7b0-ae45-4500-b529-98cd4a9ff13b"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU3Nn0.PICQzmXMOCysYm4T5IYR25rFE_GCB4_GYoq_GAgR9Nw","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d25171108032962b8b8c86b421ab6b94","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":474,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:56Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":474,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.759184,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:56Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/39bca7b0-ae45-4500-b529-98cd4a9ff13b","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/39bca7b0-ae45-4500-b529-98cd4a9ff13b","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454576,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU3Nn0.PICQzmXMOCysYm4T5IYR25rFE_GCB4_GYoq_GAgR9Nw"} 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":"d25171108032962b8b8c86b421ab6b94"},"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/39bca7b0-ae45-4500-b529-98cd4a9ff13b/websocket 200 151ms","method":"POST","requestID":"d25171108032962b8b8c86b421ab6b94","responseTime":151,"status":200,"url":"/devices/39bca7b0-ae45-4500-b529-98cd4a9ff13b/websocket"} gateway_1 | {"time_local":"20/Feb/2024:18:42:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/39bca7b0-ae45-4500-b529-98cd4a9ff13b/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.157","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"d25171108032962b8b8c86b421ab6b94"} device_1 | {"level":"info","message":"device 'http://localhost/devices/39bca7b0-ae45-4500-b529-98cd4a9ff13b' 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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"8764df81e262929a71498a2a5d7d8d77","responseTime":1,"status":200,"url":"/auth"} gateway_1 | {"time_local":"20/Feb/2024:18:42:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/a3c06571-19ba-4a3b-acba-fe30aa3fc64b/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":"8764df81e262929a71498a2a5d7d8d77"} device_1 | {"level":"info","message":"OPTIONS /devices/a3c06571-19ba-4a3b-acba-fe30aa3fc64b/websocket 200 1ms","method":"OPTIONS","requestID":"8764df81e262929a71498a2a5d7d8d77","responseTime":1,"status":200,"url":"/devices/a3c06571-19ba-4a3b-acba-fe30aa3fc64b/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU3OH0.Ft6IG5YzwMofkieHE6ajZZwixRHKzN62hJmBYCTvQcY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"d4957ff68a253127ef2c5b60f80b509b","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":475,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:58Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":475,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.273791,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:58Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a3c06571-19ba-4a3b-acba-fe30aa3fc64b","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/a3c06571-19ba-4a3b-acba-fe30aa3fc64b","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454578,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU3OH0.Ft6IG5YzwMofkieHE6ajZZwixRHKzN62hJmBYCTvQcY"} 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":"d4957ff68a253127ef2c5b60f80b509b"},"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/a3c06571-19ba-4a3b-acba-fe30aa3fc64b/websocket 200 142ms","method":"POST","requestID":"d4957ff68a253127ef2c5b60f80b509b","responseTime":142,"status":200,"url":"/devices/a3c06571-19ba-4a3b-acba-fe30aa3fc64b/websocket"} gateway_1 | {"time_local":"20/Feb/2024:18:42:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/a3c06571-19ba-4a3b-acba-fe30aa3fc64b/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.149","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"d4957ff68a253127ef2c5b60f80b509b"} device_1 | {"level":"info","message":"device 'http://localhost/devices/a3c06571-19ba-4a3b-acba-fe30aa3fc64b' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU3OH0.Ft6IG5YzwMofkieHE6ajZZwixRHKzN62hJmBYCTvQcY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"73d55968d6dedbdd8c13016e277e48cb","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":476,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:58Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":476,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.276644,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:58Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/39bca7b0-ae45-4500-b529-98cd4a9ff13b","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/39bca7b0-ae45-4500-b529-98cd4a9ff13b","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454578,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU3OH0.Ft6IG5YzwMofkieHE6ajZZwixRHKzN62hJmBYCTvQcY"} 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":"73d55968d6dedbdd8c13016e277e48cb"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F39bca7b0-ae45-4500-b529-98cd4a9ff13b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F39bca7b0-ae45-4500-b529-98cd4a9ff13b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:55.674897690Z"}]},"request_id":"4c3f6a18-0d5b-4b5c-a6d8-da63608d1b01","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454578.3498318} 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":"73d55968d6dedbdd8c13016e277e48cb"},"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":"20/Feb/2024:18:42:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/39bca7b0-ae45-4500-b529-98cd4a9ff13b? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"73d55968d6dedbdd8c13016e277e48cb"} device_1 | {"level":"info","message":"GET /devices/39bca7b0-ae45-4500-b529-98cd4a9ff13b? 200 18ms","method":"GET","requestID":"73d55968d6dedbdd8c13016e277e48cb","responseTime":18,"status":200,"url":"/devices/39bca7b0-ae45-4500-b529-98cd4a9ff13b?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU3OH0.Ft6IG5YzwMofkieHE6ajZZwixRHKzN62hJmBYCTvQcY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"fbba44bd279a85ff3a5496bfaff2530e","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":477,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:58Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":477,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.189265,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:58Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a3c06571-19ba-4a3b-acba-fe30aa3fc64b","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/a3c06571-19ba-4a3b-acba-fe30aa3fc64b","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454578,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU3OH0.Ft6IG5YzwMofkieHE6ajZZwixRHKzN62hJmBYCTvQcY"} 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":"fbba44bd279a85ff3a5496bfaff2530e"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa3c06571-19ba-4a3b-acba-fe30aa3fc64b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa3c06571-19ba-4a3b-acba-fe30aa3fc64b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:56.085587150Z"}]},"request_id":"0a6257d8-46ec-4518-b831-623f9e0a972a","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454578.3748708} 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":"fbba44bd279a85ff3a5496bfaff2530e"},"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":"20/Feb/2024:18:42:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a3c06571-19ba-4a3b-acba-fe30aa3fc64b? 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":"fbba44bd279a85ff3a5496bfaff2530e"} device_1 | {"level":"info","message":"GET /devices/a3c06571-19ba-4a3b-acba-fe30aa3fc64b? 200 16ms","method":"GET","requestID":"fbba44bd279a85ff3a5496bfaff2530e","responseTime":16,"status":200,"url":"/devices/a3c06571-19ba-4a3b-acba-fe30aa3fc64b?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU3OH0.Ft6IG5YzwMofkieHE6ajZZwixRHKzN62hJmBYCTvQcY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"38b80dcb1a7bc1967377042e7ee548cb","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:48424","level":"info","msg":"Received request.","req_id":478,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:58Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":478,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.312905,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:58Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454578,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU3OH0.Ft6IG5YzwMofkieHE6ajZZwixRHKzN62hJmBYCTvQcY"} 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":"38b80dcb1a7bc1967377042e7ee548cb"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f909f48d-52cf-4d3f-a468-4c946d9cc252"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f909f48d-52cf-4d3f-a468-4c946d9cc252"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f909f48d-52cf-4d3f-a468-4c946d9cc252"},"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:48424","level":"info","msg":"Received request.","req_id":479,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:58Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":479,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.027976,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:58Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/39bca7b0-ae45-4500-b529-98cd4a9ff13b","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/39bca7b0-ae45-4500-b529-98cd4a9ff13b","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454578,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU3OH0.Ft6IG5YzwMofkieHE6ajZZwixRHKzN62hJmBYCTvQcY"} 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":"de445d90-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:39762","level":"info","msg":"Received request.","req_id":480,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:58Z"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F39bca7b0-ae45-4500-b529-98cd4a9ff13b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F39bca7b0-ae45-4500-b529-98cd4a9ff13b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:55.674897690Z"}]},"request_id":"23404e18-6d7d-43b5-aba0-dbd1bf23a9f5","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454578.6801212} 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":"de445d90-d01f-11ee-ad1d-cbf3af4d0136"},"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:39762","level":"info","msg":"Sent response.","req_id":480,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.817868,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:58Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a3c06571-19ba-4a3b-acba-fe30aa3fc64b","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/a3c06571-19ba-4a3b-acba-fe30aa3fc64b","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454578,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU3OH0.Ft6IG5YzwMofkieHE6ajZZwixRHKzN62hJmBYCTvQcY"} authorization_1 | {"level":"info","message":"POST /authorize 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"de44abb0-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":14}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/39bca7b0-ae45-4500-b529-98cd4a9ff13b? 200 23ms","method":"GET","requestID":"de445d90-d01f-11ee-ad1d-cbf3af4d0136","responseTime":23,"status":200,"url":"/devices/39bca7b0-ae45-4500-b529-98cd4a9ff13b?"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa3c06571-19ba-4a3b-acba-fe30aa3fc64b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa3c06571-19ba-4a3b-acba-fe30aa3fc64b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:56.085587150Z"}]},"request_id":"997e8843-a196-4b7c-b15e-e8cc9cd0fe99","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454578.6882734} 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":"de44abb0-d01f-11ee-ad1d-cbf3af4d0136"},"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/a3c06571-19ba-4a3b-acba-fe30aa3fc64b? 200 25ms","method":"GET","requestID":"de44abb0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":25,"status":200,"url":"/devices/a3c06571-19ba-4a3b-acba-fe30aa3fc64b?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f909f48d-52cf-4d3f-a468-4c946d9cc252"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f909f48d-52cf-4d3f-a468-4c946d9cc252"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f909f48d-52cf-4d3f-a468-4c946d9cc252"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f909f48d-52cf-4d3f-a468-4c946d9cc252"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f909f48d-52cf-4d3f-a468-4c946d9cc252"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f909f48d-52cf-4d3f-a468-4c946d9cc252"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f909f48d-52cf-4d3f-a468-4c946d9cc252"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f909f48d-52cf-4d3f-a468-4c946d9cc252"},"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/f909f48d-52cf-4d3f-a468-4c946d9cc252"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":481,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:59Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":481,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.157154,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:59Z"} authorization_1 | {"client_addr":"127.0.0.1:39762","level":"info","msg":"Received request.","req_id":482,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:59Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/39bca7b0-ae45-4500-b529-98cd4a9ff13b","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/39bca7b0-ae45-4500-b529-98cd4a9ff13b","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454578,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU3OH0.Ft6IG5YzwMofkieHE6ajZZwixRHKzN62hJmBYCTvQcY"} 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":"de833b50-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:39762","level":"info","msg":"Sent response.","req_id":482,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.203053,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:59Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a3c06571-19ba-4a3b-acba-fe30aa3fc64b","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/a3c06571-19ba-4a3b-acba-fe30aa3fc64b","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454578,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU3OH0.Ft6IG5YzwMofkieHE6ajZZwixRHKzN62hJmBYCTvQcY"} 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":"de838970-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F39bca7b0-ae45-4500-b529-98cd4a9ff13b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F39bca7b0-ae45-4500-b529-98cd4a9ff13b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:55.674897690Z"}]},"request_id":"ca5b6c51-7db6-42c5-b2e6-5e6e2fba4b87","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454579.0906198} 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":"de833b50-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa3c06571-19ba-4a3b-acba-fe30aa3fc64b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa3c06571-19ba-4a3b-acba-fe30aa3fc64b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:56.085587150Z"}]},"request_id":"b1e5c619-7883-47bf-9eaa-d4b6278e7793","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454579.0913544} 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":"de838970-d01f-11ee-ad1d-cbf3af4d0136"},"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/39bca7b0-ae45-4500-b529-98cd4a9ff13b? 200 19ms","method":"GET","requestID":"de833b50-d01f-11ee-ad1d-cbf3af4d0136","responseTime":19,"status":200,"url":"/devices/39bca7b0-ae45-4500-b529-98cd4a9ff13b?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/a3c06571-19ba-4a3b-acba-fe30aa3fc64b? 200 17ms","method":"GET","requestID":"de838970-d01f-11ee-ad1d-cbf3af4d0136","responseTime":17,"status":200,"url":"/devices/a3c06571-19ba-4a3b-acba-fe30aa3fc64b?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":483,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:59Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":483,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":1.101552,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:59Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/39bca7b0-ae45-4500-b529-98cd4a9ff13b","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/39bca7b0-ae45-4500-b529-98cd4a9ff13b","object_type":"device","rebac_allow":false,"scope_allow":false,"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":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"de866fa0-d01f-11ee-ad1d-cbf3af4d0136"},"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/39bca7b0-ae45-4500-b529-98cd4a9ff13b/signaling 200 8ms","method":"POST","requestID":"de866fa0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":8,"status":200,"url":"/devices/39bca7b0-ae45-4500-b529-98cd4a9ff13b/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":484,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:59Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":484,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":1.752529,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:59Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/a3c06571-19ba-4a3b-acba-fe30aa3fc64b","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a3c06571-19ba-4a3b-acba-fe30aa3fc64b","object_type":"device","rebac_allow":false,"scope_allow":false,"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":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"de87f640-d01f-11ee-ad1d-cbf3af4d0136"},"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/a3c06571-19ba-4a3b-acba-fe30aa3fc64b/signaling 200 9ms","method":"POST","requestID":"de87f640-d01f-11ee-ad1d-cbf3af4d0136","responseTime":9,"status":200,"url":"/devices/a3c06571-19ba-4a3b-acba-fe30aa3fc64b/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f909f48d-52cf-4d3f-a468-4c946d9cc252"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f909f48d-52cf-4d3f-a468-4c946d9cc252"},"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":"feef212a-55b8-4dd3-8fa0-73697d2cfe7c"},{"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":"487312d3-1c12-493d-9ae5-f67963bb8ccb"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"cc3cd1b2-deb7-485c-b46e-c7efb04640e5"}]},"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/a3c06571-19ba-4a3b-acba-fe30aa3fc64b"},{"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/39bca7b0-ae45-4500-b529-98cd4a9ff13b"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":485,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:59Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":485,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.049479,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:59Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454578,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU3OH0.Ft6IG5YzwMofkieHE6ajZZwixRHKzN62hJmBYCTvQcY"} 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":"de89f210-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff909f48d-52cf-4d3f-a468-4c946d9cc252#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff909f48d-52cf-4d3f-a468-4c946d9cc252","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"1d4bb99e-6df2-4818-a70c-f53da7ddd2a5","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454579.243162} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"49bf7173-90cf-46af-8273-a2a291342fd2","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454579.2435665} authorization_1 | {"level":"info","message":"POST /relations/update 200 160ms","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":"38b80dcb1a7bc1967377042e7ee548cb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":160}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","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%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"80ffa378-fe6b-476e-9410-2d3ab942fb64","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454579.2449896} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5845768b-bcdd-4c84-80d5-63f6a046fc98","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454579.245603} authorization_1 | {"level":"info","message":"POST /relations/update 200 118ms","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":"de89f210-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":118}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/f909f48d-52cf-4d3f-a468-4c946d9cc252","user":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 868ms","method":"POST","requestID":"38b80dcb1a7bc1967377042e7ee548cb","responseTime":868,"status":201,"url":"/experiments?"} gateway_1 | {"time_local":"20/Feb/2024:18:42:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.877","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"38b80dcb1a7bc1967377042e7ee548cb"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU3OX0.fh88MHbFJvy4fN3NRfL0Vh8-w2_DeNK2jxJltFtyJGE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"03ba04398336c6424f980d264f07b9d5","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":486,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:59Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":486,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.016246,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:59Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/39bca7b0-ae45-4500-b529-98cd4a9ff13b","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/39bca7b0-ae45-4500-b529-98cd4a9ff13b","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454579,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU3OX0.fh88MHbFJvy4fN3NRfL0Vh8-w2_DeNK2jxJltFtyJGE"} 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":"03ba04398336c6424f980d264f07b9d5"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F39bca7b0-ae45-4500-b529-98cd4a9ff13b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F39bca7b0-ae45-4500-b529-98cd4a9ff13b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:55.674897690Z"}]},"request_id":"0df85412-6b55-49e4-93f7-bdd595b5e64c","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454579.27373} 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":"03ba04398336c6424f980d264f07b9d5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/d138160f-2a28-4b23-9c17-ea60085df670'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/d138160f-2a28-4b23-9c17-ea60085df670'"} 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 291ms","method":"POST","requestID":"de89f210-d01f-11ee-ad1d-cbf3af4d0136","responseTime":291,"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":"20/Feb/2024:18:42:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/39bca7b0-ae45-4500-b529-98cd4a9ff13b? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.154","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"03ba04398336c6424f980d264f07b9d5"} device_1 | {"level":"info","message":"GET /devices/39bca7b0-ae45-4500-b529-98cd4a9ff13b? 200 149ms","method":"GET","requestID":"03ba04398336c6424f980d264f07b9d5","responseTime":149,"status":200,"url":"/devices/39bca7b0-ae45-4500-b529-98cd4a9ff13b?"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU3OX0.fh88MHbFJvy4fN3NRfL0Vh8-w2_DeNK2jxJltFtyJGE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"339dfba46fdd633657aa5a240abe4ffb","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":487,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:59Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":487,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.886832,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:59Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a3c06571-19ba-4a3b-acba-fe30aa3fc64b","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/a3c06571-19ba-4a3b-acba-fe30aa3fc64b","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454579,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU3OX0.fh88MHbFJvy4fN3NRfL0Vh8-w2_DeNK2jxJltFtyJGE"} 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":"339dfba46fdd633657aa5a240abe4ffb"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa3c06571-19ba-4a3b-acba-fe30aa3fc64b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa3c06571-19ba-4a3b-acba-fe30aa3fc64b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:42:56.085587150Z"}]},"request_id":"23e8bb5b-399b-4816-9bd5-09ab54ce69c0","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454579.4321423} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"339dfba46fdd633657aa5a240abe4ffb"},"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":"20/Feb/2024:18:42:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a3c06571-19ba-4a3b-acba-fe30aa3fc64b? 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":"339dfba46fdd633657aa5a240abe4ffb"} device_1 | {"level":"info","message":"GET /devices/a3c06571-19ba-4a3b-acba-fe30aa3fc64b? 200 13ms","method":"GET","requestID":"339dfba46fdd633657aa5a240abe4ffb","responseTime":13,"status":200,"url":"/devices/a3c06571-19ba-4a3b-acba-fe30aa3fc64b?"} device_1 | {"data":{"peerconnection":"d138160f-2a28-4b23-9c17-ea60085df670","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/d138160f-2a28-4b23-9c17-ea60085df670' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"d138160f-2a28-4b23-9c17-ea60085df670","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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"0f254c11e9adcf6a675695abacabc7bf","responseTime":1,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/a3c06571-19ba-4a3b-acba-fe30aa3fc64b"},{"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/39bca7b0-ae45-4500-b529-98cd4a9ff13b"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/d138160f-2a28-4b23-9c17-ea60085df670"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 122ms","method":"POST","requestID":"0f254c11e9adcf6a675695abacabc7bf","responseTime":122,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:42:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.126","http_referrer":"","http_user_agent":"node-fetch","requestID":"0f254c11e9adcf6a675695abacabc7bf"} device_1 | {"data":{"peerconnection":"d138160f-2a28-4b23-9c17-ea60085df670","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f909f48d-52cf-4d3f-a468-4c946d9cc252"},"level":"info","message":"Successfully created peerconnections for experiment"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU3OX0.fh88MHbFJvy4fN3NRfL0Vh8-w2_DeNK2jxJltFtyJGE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e15cd69b4ec4712477569779850aed68","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/f909f48d-52cf-4d3f-a468-4c946d9cc252"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":488,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:59Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":488,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.270427,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:59Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f909f48d-52cf-4d3f-a468-4c946d9cc252","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/f909f48d-52cf-4d3f-a468-4c946d9cc252","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454579,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU3OX0.fh88MHbFJvy4fN3NRfL0Vh8-w2_DeNK2jxJltFtyJGE"} 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":"e15cd69b4ec4712477569779850aed68"},"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/f909f48d-52cf-4d3f-a468-4c946d9cc252"} gateway_1 | {"time_local":"20/Feb/2024:18:42:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/f909f48d-52cf-4d3f-a468-4c946d9cc252 HTTP/1.1","status": "200","body_bytes_sent":"1286","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e15cd69b4ec4712477569779850aed68"} experiment_1 | {"level":"info","message":"GET /experiments/f909f48d-52cf-4d3f-a468-4c946d9cc252 200 16ms","method":"GET","requestID":"e15cd69b4ec4712477569779850aed68","responseTime":16,"status":200,"url":"/experiments/f909f48d-52cf-4d3f-a468-4c946d9cc252"} device_1 | {"data":{"peerconnection":"d138160f-2a28-4b23-9c17-ea60085df670","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU3OX0.fh88MHbFJvy4fN3NRfL0Vh8-w2_DeNK2jxJltFtyJGE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"e0933e6ee4dce03bfeea011caf8dfc5a","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/f909f48d-52cf-4d3f-a468-4c946d9cc252"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":489,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:42:59Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":489,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.317099,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:42:59Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f909f48d-52cf-4d3f-a468-4c946d9cc252","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/f909f48d-52cf-4d3f-a468-4c946d9cc252","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454579,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU3OX0.fh88MHbFJvy4fN3NRfL0Vh8-w2_DeNK2jxJltFtyJGE"} 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":"e0933e6ee4dce03bfeea011caf8dfc5a"},"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/f909f48d-52cf-4d3f-a468-4c946d9cc252"} gateway_1 | {"time_local":"20/Feb/2024:18:42:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/f909f48d-52cf-4d3f-a468-4c946d9cc252 HTTP/1.1","status": "200","body_bytes_sent":"1286","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e0933e6ee4dce03bfeea011caf8dfc5a"} experiment_1 | {"level":"info","message":"GET /experiments/f909f48d-52cf-4d3f-a468-4c946d9cc252 200 16ms","method":"GET","requestID":"e0933e6ee4dce03bfeea011caf8dfc5a","responseTime":16,"status":200,"url":"/experiments/f909f48d-52cf-4d3f-a468-4c946d9cc252"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/d138160f-2a28-4b23-9c17-ea60085df670' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"d138160f-2a28-4b23-9c17-ea60085df670","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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"e895ae7c0eff9a43e8792e0738e1b4f0","responseTime":2,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/a3c06571-19ba-4a3b-acba-fe30aa3fc64b"},{"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/39bca7b0-ae45-4500-b529-98cd4a9ff13b"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/d138160f-2a28-4b23-9c17-ea60085df670"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":490,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:00Z"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","contextual_tuples":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd138160f-2a28-4b23-9c17-ea60085df670","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"96e3a9dc-83f9-49e8-bdad-9692b25f468e","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454580.0587912} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":490,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.18676,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:00Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/d138160f-2a28-4b23-9c17-ea60085df670","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/d138160f-2a28-4b23-9c17-ea60085df670","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":"df182850-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU4MH0.eu4TAr79xhL4MgdOaT044RhIxXrepD9oEFfymz0iUUo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f9f81e905360ae3052339eaa4c62db47","responseTime":3,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/f909f48d-52cf-4d3f-a468-4c946d9cc252"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":491,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:00Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":491,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.174359,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:00Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f909f48d-52cf-4d3f-a468-4c946d9cc252","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/f909f48d-52cf-4d3f-a468-4c946d9cc252","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454580,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU4MH0.eu4TAr79xhL4MgdOaT044RhIxXrepD9oEFfymz0iUUo"} 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":"f9f81e905360ae3052339eaa4c62db47"},"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/f909f48d-52cf-4d3f-a468-4c946d9cc252"} gateway_1 | {"time_local":"20/Feb/2024:18:43:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/f909f48d-52cf-4d3f-a468-4c946d9cc252 HTTP/1.1","status": "200","body_bytes_sent":"1286","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f9f81e905360ae3052339eaa4c62db47"} experiment_1 | {"level":"info","message":"GET /experiments/f909f48d-52cf-4d3f-a468-4c946d9cc252 200 14ms","method":"GET","requestID":"f9f81e905360ae3052339eaa4c62db47","responseTime":14,"status":200,"url":"/experiments/f909f48d-52cf-4d3f-a468-4c946d9cc252"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"GET /peerconnections/d138160f-2a28-4b23-9c17-ea60085df670 200 138ms","method":"GET","requestID":"df182850-d01f-11ee-ad1d-cbf3af4d0136","responseTime":138,"status":200,"url":"/peerconnections/d138160f-2a28-4b23-9c17-ea60085df670"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU4MH0.eu4TAr79xhL4MgdOaT044RhIxXrepD9oEFfymz0iUUo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f5ff2c9e14ba587a1c71f99d7bb5c6c2","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/f909f48d-52cf-4d3f-a468-4c946d9cc252"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":492,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:00Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":492,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.079354,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:00Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f909f48d-52cf-4d3f-a468-4c946d9cc252","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/f909f48d-52cf-4d3f-a468-4c946d9cc252","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454580,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU4MH0.eu4TAr79xhL4MgdOaT044RhIxXrepD9oEFfymz0iUUo"} 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":"f5ff2c9e14ba587a1c71f99d7bb5c6c2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 310ms","method":"POST","requestID":"e895ae7c0eff9a43e8792e0738e1b4f0","responseTime":310,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:43: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.316","http_referrer":"","http_user_agent":"node-fetch","requestID":"e895ae7c0eff9a43e8792e0738e1b4f0"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/f909f48d-52cf-4d3f-a468-4c946d9cc252"} experiment_1 | {"level":"info","message":"GET /experiments/f909f48d-52cf-4d3f-a468-4c946d9cc252 200 133ms","method":"GET","requestID":"f5ff2c9e14ba587a1c71f99d7bb5c6c2","responseTime":133,"status":200,"url":"/experiments/f909f48d-52cf-4d3f-a468-4c946d9cc252"} gateway_1 | {"time_local":"20/Feb/2024:18:43:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/f909f48d-52cf-4d3f-a468-4c946d9cc252 HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.140","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f5ff2c9e14ba587a1c71f99d7bb5c6c2"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU4MH0.eu4TAr79xhL4MgdOaT044RhIxXrepD9oEFfymz0iUUo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"22724e9025b25c23761f2cd3a422e766","responseTime":2,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/f909f48d-52cf-4d3f-a468-4c946d9cc252"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":493,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:00Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":493,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.767442,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:00Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f909f48d-52cf-4d3f-a468-4c946d9cc252","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/f909f48d-52cf-4d3f-a468-4c946d9cc252","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454580,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU4MH0.eu4TAr79xhL4MgdOaT044RhIxXrepD9oEFfymz0iUUo"} 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":"22724e9025b25c23761f2cd3a422e766"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f909f48d-52cf-4d3f-a468-4c946d9cc252"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":494,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:00Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":494,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.715888,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:00Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/d138160f-2a28-4b23-9c17-ea60085df670","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"peerconnection:http://localhost/peerconnections/d138160f-2a28-4b23-9c17-ea60085df670","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454580,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU4MH0.eu4TAr79xhL4MgdOaT044RhIxXrepD9oEFfymz0iUUo"} 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":"df492360-d01f-11ee-ad1d-cbf3af4d0136"},"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/d138160f-2a28-4b23-9c17-ea60085df670' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/d138160f-2a28-4b23-9c17-ea60085df670' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"d138160f-2a28-4b23-9c17-ea60085df670","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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd138160f-2a28-4b23-9c17-ea60085df670': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd138160f-2a28-4b23-9c17-ea60085df670","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]},"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":null},"raw_response":{},"request_id":"0b7c13b6-9423-484b-88b7-386ce4d1e12f","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454580.3883605} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"073188ace964c419165b3ec41dbe3839","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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9d907e90-6616-44da-9db2-3372e2fdfdc0","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454580.388552} 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/a3c06571-19ba-4a3b-acba-fe30aa3fc64b"},{"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/39bca7b0-ae45-4500-b529-98cd4a9ff13b"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/d138160f-2a28-4b23-9c17-ea60085df670"}}},"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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"4e5897f7552fa2c3dd29033ff9eaf410","responseTime":1,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/a3c06571-19ba-4a3b-acba-fe30aa3fc64b"},{"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/39bca7b0-ae45-4500-b529-98cd4a9ff13b"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/d138160f-2a28-4b23-9c17-ea60085df670"}}},"level":"info","message":"received a callback"} 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":"df492360-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} device_1 | {"data":{"peerconnection":"d138160f-2a28-4b23-9c17-ea60085df670","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/d138160f-2a28-4b23-9c17-ea60085df670 204 259ms","method":"DELETE","requestID":"df492360-d01f-11ee-ad1d-cbf3af4d0136","responseTime":259,"status":204,"url":"/peerconnections/d138160f-2a28-4b23-9c17-ea60085df670"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/f909f48d-52cf-4d3f-a468-4c946d9cc252"},"level":"info","message":"Successfully finished experiment"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff909f48d-52cf-4d3f-a468-4c946d9cc252': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff909f48d-52cf-4d3f-a468-4c946d9cc252","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]},"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":null},"raw_response":{},"request_id":"d6870f70-131b-4a7a-abd0-4446ec30898c","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454580.9456255} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f5fbbd2c-38fe-4c9c-a549-27473035f1b4","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454580.945972} authorization_1 | {"level":"info","message":"POST /relations/update 200 163ms","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":"22724e9025b25c23761f2cd3a422e766"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":163}} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/f909f48d-52cf-4d3f-a468-4c946d9cc252"} gateway_1 | {"time_local":"20/Feb/2024:18:43:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/f909f48d-52cf-4d3f-a468-4c946d9cc252 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"1.361","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"22724e9025b25c23761f2cd3a422e766"} gateway_1 | {"time_local":"20/Feb/2024:18:43:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1642","request_time":"4.804","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"8873f3241332ef8af1d860c9825aa1f3"} experiment_1 | {"level":"info","message":"DELETE /experiments/f909f48d-52cf-4d3f-a468-4c946d9cc252 204 1360ms","method":"DELETE","requestID":"22724e9025b25c23761f2cd3a422e766","responseTime":1360,"status":204,"url":"/experiments/f909f48d-52cf-4d3f-a468-4c946d9cc252"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1340ms","method":"POST","requestID":"073188ace964c419165b3ec41dbe3839","responseTime":1340,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:43: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":"1.343","http_referrer":"","http_user_agent":"node-fetch","requestID":"073188ace964c419165b3ec41dbe3839"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1341ms","method":"POST","requestID":"4e5897f7552fa2c3dd29033ff9eaf410","responseTime":1341,"status":200,"url":"/callbacks/experiment"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU4MX0.V_6H8uTApQORhV7XREhOb_MyFaOyXlOn0Gjpa5pbNBU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"eb4b75ef0f44182258fd2b7e5fb0508c","responseTime":5,"status":200,"url":"/auth"} gateway_1 | {"time_local":"20/Feb/2024:18:43: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":"1.344","http_referrer":"","http_user_agent":"node-fetch","requestID":"4e5897f7552fa2c3dd29033ff9eaf410"} device_1 | {"level":"info","message":"postDevices called"} gateway_1 | {"time_local":"20/Feb/2024:18:43:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1722","request_time":"3.544","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"ac534e6c0caa73b0c2680386d370b96b"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":495,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:01Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":495,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.943733,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:01Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454581,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU4MX0.V_6H8uTApQORhV7XREhOb_MyFaOyXlOn0Gjpa5pbNBU"} 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":"eb4b75ef0f44182258fd2b7e5fb0508c"},"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/39bca7b0-ae45-4500-b529-98cd4a9ff13b' 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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea64cdd1-6f41-4472-951f-2c8d1a231dd5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d6884bd1-329e-494c-87cf-cdad30d4b119","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454582.0710418} 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":"eb4b75ef0f44182258fd2b7e5fb0508c"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5e567eab-2f93-4d75-bfaa-1bbfbb1dd014","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454582.0782626} 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":"eb4b75ef0f44182258fd2b7e5fb0508c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/a3c06571-19ba-4a3b-acba-fe30aa3fc64b' closed"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea64cdd1-6f41-4472-951f-2c8d1a231dd5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"7add420a-b952-46c7-9826-0e6480188271","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454582.4194741} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b55ccfc8-aa43-49ee-b2c6-228ada3c4a78","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454582.4196277} authorization_1 | {"level":"info","message":"POST /relations/update 200 344ms","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":"eb4b75ef0f44182258fd2b7e5fb0508c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":344}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea64cdd1-6f41-4472-951f-2c8d1a231dd5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea64cdd1-6f41-4472-951f-2c8d1a231dd5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:43:02.419431954Z"}]},"request_id":"417619a9-041c-414b-a65d-1f1c8b7c3d6d","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454582.426832} 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":"eb4b75ef0f44182258fd2b7e5fb0508c"},"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 696ms","method":"POST","requestID":"eb4b75ef0f44182258fd2b7e5fb0508c","responseTime":696,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"20/Feb/2024:18:43:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.704","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"eb4b75ef0f44182258fd2b7e5fb0508c"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU4Mn0.2_wlVj9XNuL2yraGHU9ryUhDjEeZ0YOKCo6VFa3cjaA","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2d8fd743cba4a2d37a23960ad6d3756a","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":496,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:02Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":496,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.764181,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:02Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454582,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU4Mn0.2_wlVj9XNuL2yraGHU9ryUhDjEeZ0YOKCo6VFa3cjaA"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2d8fd743cba4a2d37a23960ad6d3756a"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9549470f-ccea-4e08-8903-79fb2112c5b9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ae6eee18-29cf-457e-b330-01be3864a14e","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454582.6472225} 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":"2d8fd743cba4a2d37a23960ad6d3756a"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e35bc3dd-069c-4dd0-a60d-1df2c49f3b73","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454582.6559265} 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":"2d8fd743cba4a2d37a23960ad6d3756a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9549470f-ccea-4e08-8903-79fb2112c5b9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"d70f4e39-2d49-488f-907b-1180aba1f464","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454582.8214514} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ed5155b8-9556-4795-9d7a-63085533fb1a","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454582.8219025} authorization_1 | {"level":"info","message":"POST /relations/update 200 169ms","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":"2d8fd743cba4a2d37a23960ad6d3756a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":169}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9549470f-ccea-4e08-8903-79fb2112c5b9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9549470f-ccea-4e08-8903-79fb2112c5b9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:43:02.821404955Z"}]},"request_id":"dfc7b298-bb1a-4874-8687-2ae9e050a0e6","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454582.8295455} 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":"2d8fd743cba4a2d37a23960ad6d3756a"},"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 397ms","method":"POST","requestID":"2d8fd743cba4a2d37a23960ad6d3756a","responseTime":397,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"20/Feb/2024:18:43:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.426","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2d8fd743cba4a2d37a23960ad6d3756a"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU4M30.SWE7OyDf0o35rogy1ETfd8dQXTk09tbg8BsrigqAK30","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"11de327e6154bb4c0e5510d688382953","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":497,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:03Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":497,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.780556,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:03Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea64cdd1-6f41-4472-951f-2c8d1a231dd5","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/ea64cdd1-6f41-4472-951f-2c8d1a231dd5","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454583,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU4M30.SWE7OyDf0o35rogy1ETfd8dQXTk09tbg8BsrigqAK30"} 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":"11de327e6154bb4c0e5510d688382953"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea64cdd1-6f41-4472-951f-2c8d1a231dd5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea64cdd1-6f41-4472-951f-2c8d1a231dd5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:43:02.419431954Z"}]},"request_id":"87a9b460-c415-40ee-b003-78dabb0e180c","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454583.297833} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"11de327e6154bb4c0e5510d688382953"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU4M30.SWE7OyDf0o35rogy1ETfd8dQXTk09tbg8BsrigqAK30","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1cb6f1be521e869c045db2984a2698ad","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId 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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e80298d4-f0ff-4522-860a-b9cf11ee4a11","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454583.303647} 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":"11de327e6154bb4c0e5510d688382953"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":498,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:03Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":498,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.953431,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:03Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9549470f-ccea-4e08-8903-79fb2112c5b9","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/9549470f-ccea-4e08-8903-79fb2112c5b9","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454583,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU4M30.SWE7OyDf0o35rogy1ETfd8dQXTk09tbg8BsrigqAK30"} 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":"1cb6f1be521e869c045db2984a2698ad"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea64cdd1-6f41-4472-951f-2c8d1a231dd5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea64cdd1-6f41-4472-951f-2c8d1a231dd5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:43:02.419431954Z"}]},"request_id":"e0e3f19f-f74e-4d32-ac39-b3179a053c3f","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454583.52256} 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":"11de327e6154bb4c0e5510d688382953"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9549470f-ccea-4e08-8903-79fb2112c5b9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9549470f-ccea-4e08-8903-79fb2112c5b9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:43:02.821404955Z"}]},"request_id":"9d166901-fb58-490c-b4d1-f43bbfc5f8c5","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454583.524744} device_1 | {"level":"info","message":"patchDevicesByDeviceId 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":"1cb6f1be521e869c045db2984a2698ad"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"PATCH /devices/ea64cdd1-6f41-4472-951f-2c8d1a231dd5 200 241ms","method":"PATCH","requestID":"11de327e6154bb4c0e5510d688382953","responseTime":241,"status":200,"url":"/devices/ea64cdd1-6f41-4472-951f-2c8d1a231dd5"} gateway_1 | {"time_local":"20/Feb/2024:18:43:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/ea64cdd1-6f41-4472-951f-2c8d1a231dd5 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.245","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"11de327e6154bb4c0e5510d688382953"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU4M30.SWE7OyDf0o35rogy1ETfd8dQXTk09tbg8BsrigqAK30","level":"info","message":"auth send jwt"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7cc9437e-2d22-43f4-81e2-4b72d353b3dd","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454583.5341117} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2f023d03c99415dbee804590b6303e52","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} 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":"1cb6f1be521e869c045db2984a2698ad"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":499,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:03Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":499,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.397337,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:03Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea64cdd1-6f41-4472-951f-2c8d1a231dd5","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/ea64cdd1-6f41-4472-951f-2c8d1a231dd5","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454583,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU4M30.SWE7OyDf0o35rogy1ETfd8dQXTk09tbg8BsrigqAK30"} 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":"2f023d03c99415dbee804590b6303e52"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9549470f-ccea-4e08-8903-79fb2112c5b9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9549470f-ccea-4e08-8903-79fb2112c5b9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:43:02.821404955Z"}]},"request_id":"09b03fc7-169d-488d-ba49-627d6bcff915","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454583.7679162} 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":"1cb6f1be521e869c045db2984a2698ad"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"20/Feb/2024:18:43:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/9549470f-ccea-4e08-8903-79fb2112c5b9 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.475","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"1cb6f1be521e869c045db2984a2698ad"} device_1 | {"level":"info","message":"PATCH /devices/9549470f-ccea-4e08-8903-79fb2112c5b9 200 469ms","method":"PATCH","requestID":"1cb6f1be521e869c045db2984a2698ad","responseTime":469,"status":200,"url":"/devices/9549470f-ccea-4e08-8903-79fb2112c5b9"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU4M30.SWE7OyDf0o35rogy1ETfd8dQXTk09tbg8BsrigqAK30","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7b3ac740f072b786c653a777753c5599","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":500,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:03Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":500,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.009295,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:03Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9549470f-ccea-4e08-8903-79fb2112c5b9","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/9549470f-ccea-4e08-8903-79fb2112c5b9","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454583,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU4M30.SWE7OyDf0o35rogy1ETfd8dQXTk09tbg8BsrigqAK30"} 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":"7b3ac740f072b786c653a777753c5599"},"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":"20/Feb/2024:18:43:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/ea64cdd1-6f41-4472-951f-2c8d1a231dd5/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.624","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"2f023d03c99415dbee804590b6303e52"} device_1 | {"level":"info","message":"POST /devices/ea64cdd1-6f41-4472-951f-2c8d1a231dd5/websocket 200 619ms","method":"POST","requestID":"2f023d03c99415dbee804590b6303e52","responseTime":619,"status":200,"url":"/devices/ea64cdd1-6f41-4472-951f-2c8d1a231dd5/websocket"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"20/Feb/2024:18:43:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/9549470f-ccea-4e08-8903-79fb2112c5b9/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.533","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"7b3ac740f072b786c653a777753c5599"} device_1 | {"level":"info","message":"POST /devices/9549470f-ccea-4e08-8903-79fb2112c5b9/websocket 200 528ms","method":"POST","requestID":"7b3ac740f072b786c653a777753c5599","responseTime":528,"status":200,"url":"/devices/9549470f-ccea-4e08-8903-79fb2112c5b9/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/ea64cdd1-6f41-4472-951f-2c8d1a231dd5' connected"} device_1 | {"level":"info","message":"device 'http://localhost/devices/9549470f-ccea-4e08-8903-79fb2112c5b9' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU4NH0.mrNqYHZ59j9uWhUGnMFZxRvmpY6Cmu5O_RqAYBSG_HA","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d3c93a839c79b3ae41cd2ac297ee40fc","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":501,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:04Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":501,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.400467,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:04Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea64cdd1-6f41-4472-951f-2c8d1a231dd5","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/ea64cdd1-6f41-4472-951f-2c8d1a231dd5","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454584,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU4NH0.mrNqYHZ59j9uWhUGnMFZxRvmpY6Cmu5O_RqAYBSG_HA"} 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":"d3c93a839c79b3ae41cd2ac297ee40fc"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea64cdd1-6f41-4472-951f-2c8d1a231dd5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea64cdd1-6f41-4472-951f-2c8d1a231dd5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:43:02.419431954Z"}]},"request_id":"20fe6416-606f-4180-97ff-c289f35d02ee","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454584.635406} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d3c93a839c79b3ae41cd2ac297ee40fc"},"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/ea64cdd1-6f41-4472-951f-2c8d1a231dd5? 200 18ms","method":"GET","requestID":"d3c93a839c79b3ae41cd2ac297ee40fc","responseTime":18,"status":200,"url":"/devices/ea64cdd1-6f41-4472-951f-2c8d1a231dd5?"} gateway_1 | {"time_local":"20/Feb/2024:18:43:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ea64cdd1-6f41-4472-951f-2c8d1a231dd5? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d3c93a839c79b3ae41cd2ac297ee40fc"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU4NH0.mrNqYHZ59j9uWhUGnMFZxRvmpY6Cmu5O_RqAYBSG_HA","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"23e00beef8e8fb03fd95dbc0925d48f9","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":502,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:04Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":502,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.771282,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:04Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9549470f-ccea-4e08-8903-79fb2112c5b9","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/9549470f-ccea-4e08-8903-79fb2112c5b9","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454584,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU4NH0.mrNqYHZ59j9uWhUGnMFZxRvmpY6Cmu5O_RqAYBSG_HA"} 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":"23e00beef8e8fb03fd95dbc0925d48f9"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9549470f-ccea-4e08-8903-79fb2112c5b9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9549470f-ccea-4e08-8903-79fb2112c5b9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:43:02.821404955Z"}]},"request_id":"6f798cc5-1053-4c40-ae0e-e2ebadabc319","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454584.656912} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"23e00beef8e8fb03fd95dbc0925d48f9"},"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":"20/Feb/2024:18:43:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9549470f-ccea-4e08-8903-79fb2112c5b9? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"23e00beef8e8fb03fd95dbc0925d48f9"} device_1 | {"level":"info","message":"GET /devices/9549470f-ccea-4e08-8903-79fb2112c5b9? 200 13ms","method":"GET","requestID":"23e00beef8e8fb03fd95dbc0925d48f9","responseTime":13,"status":200,"url":"/devices/9549470f-ccea-4e08-8903-79fb2112c5b9?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU4NH0.mrNqYHZ59j9uWhUGnMFZxRvmpY6Cmu5O_RqAYBSG_HA","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d98cc9199f7f2d0afb7b4c7dacf25243","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:48424","level":"info","msg":"Received request.","req_id":503,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:04Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":503,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.658937,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:04Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454584,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU4NH0.mrNqYHZ59j9uWhUGnMFZxRvmpY6Cmu5O_RqAYBSG_HA"} 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":"d98cc9199f7f2d0afb7b4c7dacf25243"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/33022f03-7495-4c98-9e29-decb6073f826"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/33022f03-7495-4c98-9e29-decb6073f826"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/33022f03-7495-4c98-9e29-decb6073f826"},"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:48424","level":"info","msg":"Received request.","req_id":504,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:04Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":504,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.738465,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:04Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea64cdd1-6f41-4472-951f-2c8d1a231dd5","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/ea64cdd1-6f41-4472-951f-2c8d1a231dd5","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454584,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU4NH0.mrNqYHZ59j9uWhUGnMFZxRvmpY6Cmu5O_RqAYBSG_HA"} 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":"e2024ff0-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:39778","level":"info","msg":"Received request.","req_id":505,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:04Z"} authorization_1 | {"client_addr":"127.0.0.1:39778","level":"info","msg":"Sent response.","req_id":505,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.357446,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:04Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9549470f-ccea-4e08-8903-79fb2112c5b9","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/9549470f-ccea-4e08-8903-79fb2112c5b9","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454584,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU4NH0.mrNqYHZ59j9uWhUGnMFZxRvmpY6Cmu5O_RqAYBSG_HA"} 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":"e2029e10-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea64cdd1-6f41-4472-951f-2c8d1a231dd5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea64cdd1-6f41-4472-951f-2c8d1a231dd5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:43:02.419431954Z"}]},"request_id":"79a92086-53cd-43c8-bb37-32275f5fbb48","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454584.9566467} 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":"e2024ff0-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9549470f-ccea-4e08-8903-79fb2112c5b9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9549470f-ccea-4e08-8903-79fb2112c5b9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:43:02.821404955Z"}]},"request_id":"9490094b-de99-41fd-bc32-ff20e09f2eb7","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454584.961866} device_1 | {"level":"info","message":"getDevicesByDeviceId 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":"e2029e10-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"GET /devices/ea64cdd1-6f41-4472-951f-2c8d1a231dd5? 200 20ms","method":"GET","requestID":"e2024ff0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":20,"status":200,"url":"/devices/ea64cdd1-6f41-4472-951f-2c8d1a231dd5?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/9549470f-ccea-4e08-8903-79fb2112c5b9? 200 21ms","method":"GET","requestID":"e2029e10-d01f-11ee-ad1d-cbf3af4d0136","responseTime":21,"status":200,"url":"/devices/9549470f-ccea-4e08-8903-79fb2112c5b9?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/33022f03-7495-4c98-9e29-decb6073f826"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/33022f03-7495-4c98-9e29-decb6073f826"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/33022f03-7495-4c98-9e29-decb6073f826"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/33022f03-7495-4c98-9e29-decb6073f826"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/33022f03-7495-4c98-9e29-decb6073f826"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/33022f03-7495-4c98-9e29-decb6073f826"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/33022f03-7495-4c98-9e29-decb6073f826"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/33022f03-7495-4c98-9e29-decb6073f826"},"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:48424","level":"info","msg":"Received request.","req_id":506,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:05Z"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/33022f03-7495-4c98-9e29-decb6073f826"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":506,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.931923,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:05Z"} authorization_1 | {"client_addr":"127.0.0.1:39778","level":"info","msg":"Received request.","req_id":507,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:05Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea64cdd1-6f41-4472-951f-2c8d1a231dd5","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/ea64cdd1-6f41-4472-951f-2c8d1a231dd5","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454584,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU4NH0.mrNqYHZ59j9uWhUGnMFZxRvmpY6Cmu5O_RqAYBSG_HA"} 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":"e243c5c0-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:39778","level":"info","msg":"Sent response.","req_id":507,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.459417,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:05Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9549470f-ccea-4e08-8903-79fb2112c5b9","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/9549470f-ccea-4e08-8903-79fb2112c5b9","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454584,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU4NH0.mrNqYHZ59j9uWhUGnMFZxRvmpY6Cmu5O_RqAYBSG_HA"} 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":"e2443af0-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea64cdd1-6f41-4472-951f-2c8d1a231dd5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea64cdd1-6f41-4472-951f-2c8d1a231dd5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:43:02.419431954Z"}]},"request_id":"49264ee5-cbc7-4780-9444-f791627c550d","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454585.3877318} 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":"e243c5c0-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9549470f-ccea-4e08-8903-79fb2112c5b9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9549470f-ccea-4e08-8903-79fb2112c5b9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:43:02.821404955Z"}]},"request_id":"d66d699a-deb1-42e2-8a98-df7fbfd4219c","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454585.3889406} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e2443af0-d01f-11ee-ad1d-cbf3af4d0136"},"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/ea64cdd1-6f41-4472-951f-2c8d1a231dd5? 200 23ms","method":"GET","requestID":"e243c5c0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":23,"status":200,"url":"/devices/ea64cdd1-6f41-4472-951f-2c8d1a231dd5?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/9549470f-ccea-4e08-8903-79fb2112c5b9? 200 21ms","method":"GET","requestID":"e2443af0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":21,"status":200,"url":"/devices/9549470f-ccea-4e08-8903-79fb2112c5b9?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":508,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:05Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":508,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.625517,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:05Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea64cdd1-6f41-4472-951f-2c8d1a231dd5","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ea64cdd1-6f41-4472-951f-2c8d1a231dd5","object_type":"device","rebac_allow":false,"scope_allow":false,"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":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e247bd60-d01f-11ee-ad1d-cbf3af4d0136"},"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/ea64cdd1-6f41-4472-951f-2c8d1a231dd5/signaling 200 8ms","method":"POST","requestID":"e247bd60-d01f-11ee-ad1d-cbf3af4d0136","responseTime":8,"status":200,"url":"/devices/ea64cdd1-6f41-4472-951f-2c8d1a231dd5/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":509,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:05Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":509,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.875168,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:05Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/9549470f-ccea-4e08-8903-79fb2112c5b9","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9549470f-ccea-4e08-8903-79fb2112c5b9","object_type":"device","rebac_allow":false,"scope_allow":false,"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":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e2494400-d01f-11ee-ad1d-cbf3af4d0136"},"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/9549470f-ccea-4e08-8903-79fb2112c5b9/signaling 200 8ms","method":"POST","requestID":"e2494400-d01f-11ee-ad1d-cbf3af4d0136","responseTime":8,"status":200,"url":"/devices/9549470f-ccea-4e08-8903-79fb2112c5b9/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/33022f03-7495-4c98-9e29-decb6073f826"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/33022f03-7495-4c98-9e29-decb6073f826"},"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":"2379ec76-0639-4432-aeb9-07e490459533"},{"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":"6564f3a5-49ee-4398-81df-8ec1ffadf760"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"7b1bd2c4-4aba-426e-809c-4fbae2049cb1"}]},"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/9549470f-ccea-4e08-8903-79fb2112c5b9"},{"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/ea64cdd1-6f41-4472-951f-2c8d1a231dd5"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":510,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:05Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":510,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.794143,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:05Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454584,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU4NH0.mrNqYHZ59j9uWhUGnMFZxRvmpY6Cmu5O_RqAYBSG_HA"} 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":"e24af1b0-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F33022f03-7495-4c98-9e29-decb6073f826#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F33022f03-7495-4c98-9e29-decb6073f826","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"0cdbb840-1a37-47e3-9721-cdd0f031b3be","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454585.571904} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1a33d61d-9a6e-406f-af94-8f2b172c350b","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454585.5723855} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","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%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"4f6063de-9d81-4039-8190-3272c1d44274","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454585.5744028} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c83f1939-16e7-440c-a09f-c26227a61dc4","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454585.5750837} authorization_1 | {"level":"info","message":"POST /relations/update 200 195ms","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":"d98cc9199f7f2d0afb7b4c7dacf25243"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":195}} authorization_1 | {"level":"info","message":"POST /relations/update 200 150ms","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":"e24af1b0-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":150}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/33022f03-7495-4c98-9e29-decb6073f826","user":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 919ms","method":"POST","requestID":"d98cc9199f7f2d0afb7b4c7dacf25243","responseTime":919,"status":201,"url":"/experiments?"} gateway_1 | {"time_local":"20/Feb/2024:18:43:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1219","request_time":"0.926","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d98cc9199f7f2d0afb7b4c7dacf25243"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU4NX0.Uw0bSsKyieca3WG0SR7MFZKSqj7HoR7DUH3_mijM1Gg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a4beb0828c454641fe04d2f2c7bf89dd","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":511,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:05Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":511,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.234255,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:05Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea64cdd1-6f41-4472-951f-2c8d1a231dd5","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/ea64cdd1-6f41-4472-951f-2c8d1a231dd5","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454585,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU4NX0.Uw0bSsKyieca3WG0SR7MFZKSqj7HoR7DUH3_mijM1Gg"} 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":"a4beb0828c454641fe04d2f2c7bf89dd"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea64cdd1-6f41-4472-951f-2c8d1a231dd5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea64cdd1-6f41-4472-951f-2c8d1a231dd5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:43:02.419431954Z"}]},"request_id":"447ff35c-4566-4c03-8931-e252c77d6aa3","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454585.605662} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a4beb0828c454641fe04d2f2c7bf89dd"},"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/a2121b92-b431-432e-8303-3d972f420a29'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/a2121b92-b431-432e-8303-3d972f420a29'"} 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 331ms","method":"POST","requestID":"e24af1b0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":331,"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":"20/Feb/2024:18:43:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ea64cdd1-6f41-4472-951f-2c8d1a231dd5? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.161","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a4beb0828c454641fe04d2f2c7bf89dd"} device_1 | {"level":"info","message":"GET /devices/ea64cdd1-6f41-4472-951f-2c8d1a231dd5? 200 156ms","method":"GET","requestID":"a4beb0828c454641fe04d2f2c7bf89dd","responseTime":156,"status":200,"url":"/devices/ea64cdd1-6f41-4472-951f-2c8d1a231dd5?"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU4NX0.Uw0bSsKyieca3WG0SR7MFZKSqj7HoR7DUH3_mijM1Gg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"970b2fcb3150b64821bcdf8dc2290d92","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":512,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:05Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":512,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.843093,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:05Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9549470f-ccea-4e08-8903-79fb2112c5b9","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/9549470f-ccea-4e08-8903-79fb2112c5b9","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454585,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU4NX0.Uw0bSsKyieca3WG0SR7MFZKSqj7HoR7DUH3_mijM1Gg"} 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":"970b2fcb3150b64821bcdf8dc2290d92"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9549470f-ccea-4e08-8903-79fb2112c5b9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9549470f-ccea-4e08-8903-79fb2112c5b9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:43:02.821404955Z"}]},"request_id":"621ef0e9-c75e-421c-9ba4-ed0f22eceee4","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454585.7680366} 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":"970b2fcb3150b64821bcdf8dc2290d92"},"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/9549470f-ccea-4e08-8903-79fb2112c5b9? 200 13ms","method":"GET","requestID":"970b2fcb3150b64821bcdf8dc2290d92","responseTime":13,"status":200,"url":"/devices/9549470f-ccea-4e08-8903-79fb2112c5b9?"} gateway_1 | {"time_local":"20/Feb/2024:18:43:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9549470f-ccea-4e08-8903-79fb2112c5b9? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"970b2fcb3150b64821bcdf8dc2290d92"} device_1 | {"data":{"peerconnection":"a2121b92-b431-432e-8303-3d972f420a29","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"a2121b92-b431-432e-8303-3d972f420a29","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/a2121b92-b431-432e-8303-3d972f420a29' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"a2121b92-b431-432e-8303-3d972f420a29","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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e77cbe2d1a9201f833866e27ef08bf83","responseTime":1,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/9549470f-ccea-4e08-8903-79fb2112c5b9"},{"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/ea64cdd1-6f41-4472-951f-2c8d1a231dd5"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/a2121b92-b431-432e-8303-3d972f420a29"}}},"level":"info","message":"received a callback"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU4NX0.Uw0bSsKyieca3WG0SR7MFZKSqj7HoR7DUH3_mijM1Gg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"926203b7f8e5be3e97b6b1e1112f849c","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/33022f03-7495-4c98-9e29-decb6073f826"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":513,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:05Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":513,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.31751,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:05Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/33022f03-7495-4c98-9e29-decb6073f826","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/33022f03-7495-4c98-9e29-decb6073f826","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454585,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU4NX0.Uw0bSsKyieca3WG0SR7MFZKSqj7HoR7DUH3_mijM1Gg"} 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":"926203b7f8e5be3e97b6b1e1112f849c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 184ms","method":"POST","requestID":"e77cbe2d1a9201f833866e27ef08bf83","responseTime":184,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:43: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.187","http_referrer":"","http_user_agent":"node-fetch","requestID":"e77cbe2d1a9201f833866e27ef08bf83"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/33022f03-7495-4c98-9e29-decb6073f826"} gateway_1 | {"time_local":"20/Feb/2024:18:43:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/33022f03-7495-4c98-9e29-decb6073f826 HTTP/1.1","status": "200","body_bytes_sent":"1290","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"926203b7f8e5be3e97b6b1e1112f849c"} experiment_1 | {"level":"info","message":"GET /experiments/33022f03-7495-4c98-9e29-decb6073f826 200 46ms","method":"GET","requestID":"926203b7f8e5be3e97b6b1e1112f849c","responseTime":46,"status":200,"url":"/experiments/33022f03-7495-4c98-9e29-decb6073f826"} device_1 | {"data":{"peerconnection":"a2121b92-b431-432e-8303-3d972f420a29","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU4Nn0.NIHDu7e_4GJ9Wjt_dTBXd-CSWauwAPAi8Mkhi8R-_Uc","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7e71ed1b4dc8fac34daade51cccf2721","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/33022f03-7495-4c98-9e29-decb6073f826"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":514,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:06Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":514,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":2.469407,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:06Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/33022f03-7495-4c98-9e29-decb6073f826","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/33022f03-7495-4c98-9e29-decb6073f826","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454586,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU4Nn0.NIHDu7e_4GJ9Wjt_dTBXd-CSWauwAPAi8Mkhi8R-_Uc"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7e71ed1b4dc8fac34daade51cccf2721"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/33022f03-7495-4c98-9e29-decb6073f826"},"level":"info","message":"Successfully created peerconnections for experiment"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/33022f03-7495-4c98-9e29-decb6073f826"} gateway_1 | {"time_local":"20/Feb/2024:18:43:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/33022f03-7495-4c98-9e29-decb6073f826 HTTP/1.1","status": "200","body_bytes_sent":"1290","request_time":"0.282","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7e71ed1b4dc8fac34daade51cccf2721"} experiment_1 | {"level":"info","message":"GET /experiments/33022f03-7495-4c98-9e29-decb6073f826 200 276ms","method":"GET","requestID":"7e71ed1b4dc8fac34daade51cccf2721","responseTime":276,"status":200,"url":"/experiments/33022f03-7495-4c98-9e29-decb6073f826"} device_1 | {"data":{"peerconnection":"a2121b92-b431-432e-8303-3d972f420a29","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU4Nn0.NIHDu7e_4GJ9Wjt_dTBXd-CSWauwAPAi8Mkhi8R-_Uc","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"e4203c89c98657e130cd7969c72d07cb","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/33022f03-7495-4c98-9e29-decb6073f826"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":515,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:06Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":515,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.417247,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:06Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/33022f03-7495-4c98-9e29-decb6073f826","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/33022f03-7495-4c98-9e29-decb6073f826","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454586,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU4Nn0.NIHDu7e_4GJ9Wjt_dTBXd-CSWauwAPAi8Mkhi8R-_Uc"} 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":"e4203c89c98657e130cd7969c72d07cb"},"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/33022f03-7495-4c98-9e29-decb6073f826"} gateway_1 | {"time_local":"20/Feb/2024:18:43:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/33022f03-7495-4c98-9e29-decb6073f826 HTTP/1.1","status": "200","body_bytes_sent":"1290","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e4203c89c98657e130cd7969c72d07cb"} experiment_1 | {"level":"info","message":"GET /experiments/33022f03-7495-4c98-9e29-decb6073f826 200 16ms","method":"GET","requestID":"e4203c89c98657e130cd7969c72d07cb","responseTime":16,"status":200,"url":"/experiments/33022f03-7495-4c98-9e29-decb6073f826"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/a2121b92-b431-432e-8303-3d972f420a29' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"a2121b92-b431-432e-8303-3d972f420a29","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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"007d9d3e99893f82736707cec1c354f3","responseTime":2,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/9549470f-ccea-4e08-8903-79fb2112c5b9"},{"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/ea64cdd1-6f41-4472-951f-2c8d1a231dd5"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/a2121b92-b431-432e-8303-3d972f420a29"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":516,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:06Z"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","contextual_tuples":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa2121b92-b431-432e-8303-3d972f420a29","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"72f9d6f8-fdbb-4353-baef-240a119fa7e1","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454586.5386572} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":516,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.815472,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:06Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/a2121b92-b431-432e-8303-3d972f420a29","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/a2121b92-b431-432e-8303-3d972f420a29","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e2f4c640-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU4Nn0.NIHDu7e_4GJ9Wjt_dTBXd-CSWauwAPAi8Mkhi8R-_Uc","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7f89d4de5f5247b8a95fa0262debafb8","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/33022f03-7495-4c98-9e29-decb6073f826"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":517,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:06Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":517,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.32611,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:06Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/33022f03-7495-4c98-9e29-decb6073f826","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/33022f03-7495-4c98-9e29-decb6073f826","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454586,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU4Nn0.NIHDu7e_4GJ9Wjt_dTBXd-CSWauwAPAi8Mkhi8R-_Uc"} 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":"7f89d4de5f5247b8a95fa0262debafb8"},"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/33022f03-7495-4c98-9e29-decb6073f826"} experiment_1 | {"level":"info","message":"GET /experiments/33022f03-7495-4c98-9e29-decb6073f826 200 17ms","method":"GET","requestID":"7f89d4de5f5247b8a95fa0262debafb8","responseTime":17,"status":200,"url":"/experiments/33022f03-7495-4c98-9e29-decb6073f826"} gateway_1 | {"time_local":"20/Feb/2024:18:43:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/33022f03-7495-4c98-9e29-decb6073f826 HTTP/1.1","status": "200","body_bytes_sent":"1290","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7f89d4de5f5247b8a95fa0262debafb8"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"GET /peerconnections/a2121b92-b431-432e-8303-3d972f420a29 200 178ms","method":"GET","requestID":"e2f4c640-d01f-11ee-ad1d-cbf3af4d0136","responseTime":178,"status":200,"url":"/peerconnections/a2121b92-b431-432e-8303-3d972f420a29"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU4Nn0.NIHDu7e_4GJ9Wjt_dTBXd-CSWauwAPAi8Mkhi8R-_Uc","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"fc274deddf5867b74cbd67e861ae2a01","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/33022f03-7495-4c98-9e29-decb6073f826"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":518,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:06Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":518,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.73444,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:06Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/33022f03-7495-4c98-9e29-decb6073f826","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/33022f03-7495-4c98-9e29-decb6073f826","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454586,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU4Nn0.NIHDu7e_4GJ9Wjt_dTBXd-CSWauwAPAi8Mkhi8R-_Uc"} 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":"fc274deddf5867b74cbd67e861ae2a01"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 353ms","method":"POST","requestID":"007d9d3e99893f82736707cec1c354f3","responseTime":353,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:43:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.358","http_referrer":"","http_user_agent":"node-fetch","requestID":"007d9d3e99893f82736707cec1c354f3"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/33022f03-7495-4c98-9e29-decb6073f826"} gateway_1 | {"time_local":"20/Feb/2024:18:43:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/33022f03-7495-4c98-9e29-decb6073f826 HTTP/1.1","status": "200","body_bytes_sent":"1292","request_time":"0.165","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fc274deddf5867b74cbd67e861ae2a01"} experiment_1 | {"level":"info","message":"GET /experiments/33022f03-7495-4c98-9e29-decb6073f826 200 158ms","method":"GET","requestID":"fc274deddf5867b74cbd67e861ae2a01","responseTime":158,"status":200,"url":"/experiments/33022f03-7495-4c98-9e29-decb6073f826"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU4Nn0.NIHDu7e_4GJ9Wjt_dTBXd-CSWauwAPAi8Mkhi8R-_Uc","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"171d63ae672d0e94ebe8385399ed038c","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/33022f03-7495-4c98-9e29-decb6073f826"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":519,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:06Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":519,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.422123,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:06Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/33022f03-7495-4c98-9e29-decb6073f826","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/33022f03-7495-4c98-9e29-decb6073f826","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454586,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU4Nn0.NIHDu7e_4GJ9Wjt_dTBXd-CSWauwAPAi8Mkhi8R-_Uc"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"171d63ae672d0e94ebe8385399ed038c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/33022f03-7495-4c98-9e29-decb6073f826"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":520,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:06Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":520,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.29581,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:06Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/a2121b92-b431-432e-8303-3d972f420a29","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"peerconnection:http://localhost/peerconnections/a2121b92-b431-432e-8303-3d972f420a29","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454586,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU4Nn0.NIHDu7e_4GJ9Wjt_dTBXd-CSWauwAPAi8Mkhi8R-_Uc"} 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":"e32dfeb0-d01f-11ee-ad1d-cbf3af4d0136"},"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/a2121b92-b431-432e-8303-3d972f420a29' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/a2121b92-b431-432e-8303-3d972f420a29' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"a2121b92-b431-432e-8303-3d972f420a29","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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"72d6db58f1321c8e02337b1d732e9edd","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/9549470f-ccea-4e08-8903-79fb2112c5b9"},{"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/ea64cdd1-6f41-4472-951f-2c8d1a231dd5"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/a2121b92-b431-432e-8303-3d972f420a29"}}},"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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"20e99bb34652b2ca84c9a0c115cf9797","responseTime":1,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/9549470f-ccea-4e08-8903-79fb2112c5b9"},{"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/ea64cdd1-6f41-4472-951f-2c8d1a231dd5"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/a2121b92-b431-432e-8303-3d972f420a29"}}},"level":"info","message":"received a callback"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa2121b92-b431-432e-8303-3d972f420a29': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa2121b92-b431-432e-8303-3d972f420a29","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]},"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":null},"raw_response":{},"request_id":"38d9bb23-0259-4b3d-baa6-8e91b390d9ef","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454586.9328513} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"47579020-5dcf-4b4a-8068-5cfaedbba72f","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454586.9330254} 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":"e32dfeb0-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":11}} device_1 | {"data":{"peerconnection":"a2121b92-b431-432e-8303-3d972f420a29","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/a2121b92-b431-432e-8303-3d972f420a29 204 305ms","method":"DELETE","requestID":"e32dfeb0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":305,"status":204,"url":"/peerconnections/a2121b92-b431-432e-8303-3d972f420a29"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/33022f03-7495-4c98-9e29-decb6073f826"},"level":"info","message":"Successfully finished experiment"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F33022f03-7495-4c98-9e29-decb6073f826': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F33022f03-7495-4c98-9e29-decb6073f826","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]},"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":null},"raw_response":{},"request_id":"d904105c-05ae-4f21-a79a-f9410b58fb7e","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454587.5906813} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"70663322-39c2-4b1b-8a54-13a324710b4c","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454587.5909486} authorization_1 | {"level":"info","message":"POST /relations/update 200 155ms","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":"171d63ae672d0e94ebe8385399ed038c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":155}} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/33022f03-7495-4c98-9e29-decb6073f826"} gateway_1 | {"time_local":"20/Feb/2024:18:43:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/33022f03-7495-4c98-9e29-decb6073f826 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"1.691","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"171d63ae672d0e94ebe8385399ed038c"} gateway_1 | {"time_local":"20/Feb/2024:18:43:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1724","request_time":"4.420","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"7f452edf856f2317fe75f3dc170269e6"} gateway_1 | {"time_local":"20/Feb/2024:18:43:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1722","request_time":"4.268","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"4543dd9fbc600cb7dbdaa46170cd51f1"} experiment_1 | {"level":"info","message":"DELETE /experiments/33022f03-7495-4c98-9e29-decb6073f826 204 1686ms","method":"DELETE","requestID":"171d63ae672d0e94ebe8385399ed038c","responseTime":1686,"status":204,"url":"/experiments/33022f03-7495-4c98-9e29-decb6073f826"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1652ms","method":"POST","requestID":"72d6db58f1321c8e02337b1d732e9edd","responseTime":1652,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:43: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":"1.655","http_referrer":"","http_user_agent":"node-fetch","requestID":"72d6db58f1321c8e02337b1d732e9edd"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1651ms","method":"POST","requestID":"20e99bb34652b2ca84c9a0c115cf9797","responseTime":1651,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:43: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":"1.656","http_referrer":"","http_user_agent":"node-fetch","requestID":"20e99bb34652b2ca84c9a0c115cf9797"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU4OH0.t_XR2LiXfFCWQOPA0uOXiaw4Kp7-AZEL6rADxn3sPwI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"faed0111a042c5be1fc4630c54f1a4b4","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/9549470f-ccea-4e08-8903-79fb2112c5b9' closed"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":521,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:08Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":521,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.94214,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:08Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454588,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU4OH0.t_XR2LiXfFCWQOPA0uOXiaw4Kp7-AZEL6rADxn3sPwI"} 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":"faed0111a042c5be1fc4630c54f1a4b4"},"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/ea64cdd1-6f41-4472-951f-2c8d1a231dd5' 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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92fe4bb0-fe52-46a7-a876-a00f93badfbf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"38e1ff7e-e969-4caa-81f0-d0006d9986bd","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454588.949955} 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":"faed0111a042c5be1fc4630c54f1a4b4"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"daae1366-e4df-4804-ac5c-d5efd9d6e5ca","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454588.9584634} 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":"faed0111a042c5be1fc4630c54f1a4b4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92fe4bb0-fe52-46a7-a876-a00f93badfbf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"59167860-d002-432e-88f3-edfbb0af2e69","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454589.1306446} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"834ec2ef-df49-4db9-9e75-6fb0a6eec7b9","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454589.130976} authorization_1 | {"level":"info","message":"POST /relations/update 200 175ms","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":"faed0111a042c5be1fc4630c54f1a4b4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":175}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92fe4bb0-fe52-46a7-a876-a00f93badfbf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92fe4bb0-fe52-46a7-a876-a00f93badfbf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:43:09.130617333Z"}]},"request_id":"0b31f8aa-32e7-48f1-b695-7d8267ddb89f","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454589.136331} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"faed0111a042c5be1fc4630c54f1a4b4"},"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 550ms","method":"POST","requestID":"faed0111a042c5be1fc4630c54f1a4b4","responseTime":551,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"20/Feb/2024:18:43:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.561","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"faed0111a042c5be1fc4630c54f1a4b4"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU4OX0.wgWedbS3h-p4s_QjbxqJq83fKzAxdQSaPjb94ey_ztM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e7cebeead244f37bee03f30b19261c6d","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":522,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:09Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":522,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.128609,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:09Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454589,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU4OX0.wgWedbS3h-p4s_QjbxqJq83fKzAxdQSaPjb94ey_ztM"} 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":"e7cebeead244f37bee03f30b19261c6d"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdb0f5b47-1295-413e-9d29-881929564670","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e5d85ae8-cd74-43ec-9c78-0acfecb6af0b","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454589.3079183} 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":"e7cebeead244f37bee03f30b19261c6d"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"406cbad0-728a-4042-99e8-a0ebb923d6d8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454589.315666} 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":"e7cebeead244f37bee03f30b19261c6d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdb0f5b47-1295-413e-9d29-881929564670","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"7ed1126c-85f2-4b30-825b-aeb70e73a12e","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454589.4822488} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"50168595-246b-4734-bd0c-6c93f56f2332","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454589.482794} authorization_1 | {"level":"info","message":"POST /relations/update 200 170ms","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":"e7cebeead244f37bee03f30b19261c6d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":170}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdb0f5b47-1295-413e-9d29-881929564670","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdb0f5b47-1295-413e-9d29-881929564670","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:43:09.482196981Z"}]},"request_id":"963b8914-209d-41c0-8387-d880633288b4","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454589.4896376} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e7cebeead244f37bee03f30b19261c6d"},"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 346ms","method":"POST","requestID":"e7cebeead244f37bee03f30b19261c6d","responseTime":346,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"20/Feb/2024:18:43:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.376","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e7cebeead244f37bee03f30b19261c6d"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU4OX0.wgWedbS3h-p4s_QjbxqJq83fKzAxdQSaPjb94ey_ztM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b1f514237b09e85d38dd088b79156e93","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":523,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:09Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":523,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.796433,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:09Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/92fe4bb0-fe52-46a7-a876-a00f93badfbf","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/92fe4bb0-fe52-46a7-a876-a00f93badfbf","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454589,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU4OX0.wgWedbS3h-p4s_QjbxqJq83fKzAxdQSaPjb94ey_ztM"} 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":"b1f514237b09e85d38dd088b79156e93"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU4OX0.wgWedbS3h-p4s_QjbxqJq83fKzAxdQSaPjb94ey_ztM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e7943025ea4e0532ea37b5c90dd8066e","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId 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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92fe4bb0-fe52-46a7-a876-a00f93badfbf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92fe4bb0-fe52-46a7-a876-a00f93badfbf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:43:09.130617333Z"}]},"request_id":"e06b2326-8405-4bbb-93a9-3c2466b38129","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454589.953635} 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":"b1f514237b09e85d38dd088b79156e93"},"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:48424","level":"info","msg":"Received request.","req_id":524,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:09Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":524,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.928104,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:09Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/db0f5b47-1295-413e-9d29-881929564670","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/db0f5b47-1295-413e-9d29-881929564670","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454589,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU4OX0.wgWedbS3h-p4s_QjbxqJq83fKzAxdQSaPjb94ey_ztM"} 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":"e7943025ea4e0532ea37b5c90dd8066e"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fafaa799-3da1-4c74-be18-e4d92c0d640b","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454589.9600592} 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":"b1f514237b09e85d38dd088b79156e93"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdb0f5b47-1295-413e-9d29-881929564670","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdb0f5b47-1295-413e-9d29-881929564670","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:43:09.482196981Z"}]},"request_id":"2198670e-ddb5-42fa-83e6-609a205671da","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454589.963108} 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":"e7943025ea4e0532ea37b5c90dd8066e"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b75a8b5a-d655-4e68-bddd-2ccc9e740b18","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454589.967439} 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":"e7943025ea4e0532ea37b5c90dd8066e"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92fe4bb0-fe52-46a7-a876-a00f93badfbf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92fe4bb0-fe52-46a7-a876-a00f93badfbf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:43:09.130617333Z"}]},"request_id":"87e2ec7f-0df0-4ea7-b9c3-9c4e396e1aa0","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454590.117242} 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":"b1f514237b09e85d38dd088b79156e93"},"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":"20/Feb/2024:18:43:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/92fe4bb0-fe52-46a7-a876-a00f93badfbf HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.182","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"b1f514237b09e85d38dd088b79156e93"} device_1 | {"level":"info","message":"PATCH /devices/92fe4bb0-fe52-46a7-a876-a00f93badfbf 200 178ms","method":"PATCH","requestID":"b1f514237b09e85d38dd088b79156e93","responseTime":178,"status":200,"url":"/devices/92fe4bb0-fe52-46a7-a876-a00f93badfbf"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU5MH0.9mS9Inma4AakHZut1n3po0rgWsi6YrQscMHeOz-d_1A","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"26d9bf68e02033b6860ca6fd0f3ffb9c","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":525,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:10Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":525,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.706736,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:10Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/92fe4bb0-fe52-46a7-a876-a00f93badfbf","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/92fe4bb0-fe52-46a7-a876-a00f93badfbf","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454590,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU5MH0.9mS9Inma4AakHZut1n3po0rgWsi6YrQscMHeOz-d_1A"} 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":"26d9bf68e02033b6860ca6fd0f3ffb9c"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdb0f5b47-1295-413e-9d29-881929564670","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdb0f5b47-1295-413e-9d29-881929564670","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:43:09.482196981Z"}]},"request_id":"12efe369-eaf6-409c-b031-636418864c65","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454590.2597682} 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":"e7943025ea4e0532ea37b5c90dd8066e"},"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/db0f5b47-1295-413e-9d29-881929564670 200 312ms","method":"PATCH","requestID":"e7943025ea4e0532ea37b5c90dd8066e","responseTime":312,"status":200,"url":"/devices/db0f5b47-1295-413e-9d29-881929564670"} gateway_1 | {"time_local":"20/Feb/2024:18:43:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/db0f5b47-1295-413e-9d29-881929564670 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.318","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"e7943025ea4e0532ea37b5c90dd8066e"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU5MH0.9mS9Inma4AakHZut1n3po0rgWsi6YrQscMHeOz-d_1A","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"476d866139c5262dcaf8068caba8a00a","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":526,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:10Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":526,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.328033,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:10Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/db0f5b47-1295-413e-9d29-881929564670","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/db0f5b47-1295-413e-9d29-881929564670","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454590,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU5MH0.9mS9Inma4AakHZut1n3po0rgWsi6YrQscMHeOz-d_1A"} 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":"476d866139c5262dcaf8068caba8a00a"},"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":"20/Feb/2024:18:43:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/92fe4bb0-fe52-46a7-a876-a00f93badfbf/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.292","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"26d9bf68e02033b6860ca6fd0f3ffb9c"} device_1 | {"level":"info","message":"POST /devices/92fe4bb0-fe52-46a7-a876-a00f93badfbf/websocket 200 286ms","method":"POST","requestID":"26d9bf68e02033b6860ca6fd0f3ffb9c","responseTime":286,"status":200,"url":"/devices/92fe4bb0-fe52-46a7-a876-a00f93badfbf/websocket"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"20/Feb/2024:18:43:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/db0f5b47-1295-413e-9d29-881929564670/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.316","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"476d866139c5262dcaf8068caba8a00a"} device_1 | {"level":"info","message":"POST /devices/db0f5b47-1295-413e-9d29-881929564670/websocket 200 311ms","method":"POST","requestID":"476d866139c5262dcaf8068caba8a00a","responseTime":311,"status":200,"url":"/devices/db0f5b47-1295-413e-9d29-881929564670/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/92fe4bb0-fe52-46a7-a876-a00f93badfbf' connected"} device_1 | {"level":"info","message":"device 'http://localhost/devices/db0f5b47-1295-413e-9d29-881929564670' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU5MH0.9mS9Inma4AakHZut1n3po0rgWsi6YrQscMHeOz-d_1A","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c0f1d27b0747b9bacabc488287c21a06","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":527,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:10Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":527,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.060786,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:10Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/92fe4bb0-fe52-46a7-a876-a00f93badfbf","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/92fe4bb0-fe52-46a7-a876-a00f93badfbf","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454590,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU5MH0.9mS9Inma4AakHZut1n3po0rgWsi6YrQscMHeOz-d_1A"} 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":"c0f1d27b0747b9bacabc488287c21a06"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92fe4bb0-fe52-46a7-a876-a00f93badfbf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92fe4bb0-fe52-46a7-a876-a00f93badfbf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:43:09.130617333Z"}]},"request_id":"434cbba1-cf35-4a7f-94c2-f98f7a530ba3","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454590.8645115} 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":"c0f1d27b0747b9bacabc488287c21a06"},"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":"20/Feb/2024:18:43:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/92fe4bb0-fe52-46a7-a876-a00f93badfbf? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c0f1d27b0747b9bacabc488287c21a06"} device_1 | {"level":"info","message":"GET /devices/92fe4bb0-fe52-46a7-a876-a00f93badfbf? 200 19ms","method":"GET","requestID":"c0f1d27b0747b9bacabc488287c21a06","responseTime":19,"status":200,"url":"/devices/92fe4bb0-fe52-46a7-a876-a00f93badfbf?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU5MH0.9mS9Inma4AakHZut1n3po0rgWsi6YrQscMHeOz-d_1A","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ffc257aa7e2aa97ea873ee1754e03a95","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":528,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:10Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":528,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.127663,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:10Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/db0f5b47-1295-413e-9d29-881929564670","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/db0f5b47-1295-413e-9d29-881929564670","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454590,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU5MH0.9mS9Inma4AakHZut1n3po0rgWsi6YrQscMHeOz-d_1A"} 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":"ffc257aa7e2aa97ea873ee1754e03a95"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdb0f5b47-1295-413e-9d29-881929564670","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdb0f5b47-1295-413e-9d29-881929564670","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:43:09.482196981Z"}]},"request_id":"2efec1c9-595e-48ee-9b3b-9271d61ea136","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454590.885799} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ffc257aa7e2aa97ea873ee1754e03a95"},"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":"20/Feb/2024:18:43:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/db0f5b47-1295-413e-9d29-881929564670? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ffc257aa7e2aa97ea873ee1754e03a95"} device_1 | {"level":"info","message":"GET /devices/db0f5b47-1295-413e-9d29-881929564670? 200 15ms","method":"GET","requestID":"ffc257aa7e2aa97ea873ee1754e03a95","responseTime":15,"status":200,"url":"/devices/db0f5b47-1295-413e-9d29-881929564670?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU5MH0.9mS9Inma4AakHZut1n3po0rgWsi6YrQscMHeOz-d_1A","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"cca2935c4a66a7e20d311f66bcdc44eb","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:48424","level":"info","msg":"Received request.","req_id":529,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:10Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":529,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.051431,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:10Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454590,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU5MH0.9mS9Inma4AakHZut1n3po0rgWsi6YrQscMHeOz-d_1A"} 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":"cca2935c4a66a7e20d311f66bcdc44eb"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/bae8453e-5ec1-4a77-8878-78c689a4300d"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/bae8453e-5ec1-4a77-8878-78c689a4300d"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/bae8453e-5ec1-4a77-8878-78c689a4300d"},"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:48424","level":"info","msg":"Received request.","req_id":530,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:11Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":530,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.463271,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:11Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/92fe4bb0-fe52-46a7-a876-a00f93badfbf","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/92fe4bb0-fe52-46a7-a876-a00f93badfbf","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454590,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU5MH0.9mS9Inma4AakHZut1n3po0rgWsi6YrQscMHeOz-d_1A"} 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":"e5bc4ab0-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:54126","level":"info","msg":"Received request.","req_id":531,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:11Z"} authorization_1 | {"client_addr":"127.0.0.1:54126","level":"info","msg":"Sent response.","req_id":531,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.271719,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:11Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/db0f5b47-1295-413e-9d29-881929564670","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/db0f5b47-1295-413e-9d29-881929564670","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454590,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU5MH0.9mS9Inma4AakHZut1n3po0rgWsi6YrQscMHeOz-d_1A"} 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":"e5bc98d0-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92fe4bb0-fe52-46a7-a876-a00f93badfbf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92fe4bb0-fe52-46a7-a876-a00f93badfbf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:43:09.130617333Z"}]},"request_id":"d02c829a-b645-4e48-9cbd-d7d8280ed080","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454591.2074225} 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":"e5bc4ab0-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdb0f5b47-1295-413e-9d29-881929564670","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdb0f5b47-1295-413e-9d29-881929564670","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:43:09.482196981Z"}]},"request_id":"5a5ce405-7d9b-4fcb-88dc-51729ab30e88","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454591.2119408} 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":"e5bc98d0-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"GET /devices/92fe4bb0-fe52-46a7-a876-a00f93badfbf? 200 18ms","method":"GET","requestID":"e5bc4ab0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":18,"status":200,"url":"/devices/92fe4bb0-fe52-46a7-a876-a00f93badfbf?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/db0f5b47-1295-413e-9d29-881929564670? 200 21ms","method":"GET","requestID":"e5bc98d0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":21,"status":200,"url":"/devices/db0f5b47-1295-413e-9d29-881929564670?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/bae8453e-5ec1-4a77-8878-78c689a4300d"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/bae8453e-5ec1-4a77-8878-78c689a4300d"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/bae8453e-5ec1-4a77-8878-78c689a4300d"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/bae8453e-5ec1-4a77-8878-78c689a4300d"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/bae8453e-5ec1-4a77-8878-78c689a4300d"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/bae8453e-5ec1-4a77-8878-78c689a4300d"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/bae8453e-5ec1-4a77-8878-78c689a4300d"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/bae8453e-5ec1-4a77-8878-78c689a4300d"},"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/bae8453e-5ec1-4a77-8878-78c689a4300d"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":532,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:11Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":532,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.889055,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:11Z"} authorization_1 | {"client_addr":"127.0.0.1:54126","level":"info","msg":"Received request.","req_id":533,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:11Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/92fe4bb0-fe52-46a7-a876-a00f93badfbf","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/92fe4bb0-fe52-46a7-a876-a00f93badfbf","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454590,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU5MH0.9mS9Inma4AakHZut1n3po0rgWsi6YrQscMHeOz-d_1A"} 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":"e6007fa0-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:54126","level":"info","msg":"Sent response.","req_id":533,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.141177,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:11Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/db0f5b47-1295-413e-9d29-881929564670","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/db0f5b47-1295-413e-9d29-881929564670","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454590,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU5MH0.9mS9Inma4AakHZut1n3po0rgWsi6YrQscMHeOz-d_1A"} 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":"e600cdc0-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92fe4bb0-fe52-46a7-a876-a00f93badfbf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92fe4bb0-fe52-46a7-a876-a00f93badfbf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:43:09.130617333Z"}]},"request_id":"eb7ae02a-3877-43ab-886e-a13c82b12543","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454591.6564767} 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":"e6007fa0-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdb0f5b47-1295-413e-9d29-881929564670","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdb0f5b47-1295-413e-9d29-881929564670","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:43:09.482196981Z"}]},"request_id":"6907f186-8a08-4a86-8728-e8855c34aeed","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454591.6577241} 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":"e600cdc0-d01f-11ee-ad1d-cbf3af4d0136"},"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/92fe4bb0-fe52-46a7-a876-a00f93badfbf? 200 21ms","method":"GET","requestID":"e6007fa0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":21,"status":200,"url":"/devices/92fe4bb0-fe52-46a7-a876-a00f93badfbf?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/db0f5b47-1295-413e-9d29-881929564670? 200 20ms","method":"GET","requestID":"e600cdc0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":20,"status":200,"url":"/devices/db0f5b47-1295-413e-9d29-881929564670?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":534,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:11Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":534,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.956247,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:11Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/92fe4bb0-fe52-46a7-a876-a00f93badfbf","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/92fe4bb0-fe52-46a7-a876-a00f93badfbf","object_type":"device","rebac_allow":false,"scope_allow":false,"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":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e6042920-d01f-11ee-ad1d-cbf3af4d0136"},"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/92fe4bb0-fe52-46a7-a876-a00f93badfbf/signaling 200 8ms","method":"POST","requestID":"e6042920-d01f-11ee-ad1d-cbf3af4d0136","responseTime":8,"status":200,"url":"/devices/92fe4bb0-fe52-46a7-a876-a00f93badfbf/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":535,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:11Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":535,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.793973,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:11Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/db0f5b47-1295-413e-9d29-881929564670","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/db0f5b47-1295-413e-9d29-881929564670","object_type":"device","rebac_allow":false,"scope_allow":false,"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":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e605afc0-d01f-11ee-ad1d-cbf3af4d0136"},"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/db0f5b47-1295-413e-9d29-881929564670/signaling 200 8ms","method":"POST","requestID":"e605afc0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":8,"status":200,"url":"/devices/db0f5b47-1295-413e-9d29-881929564670/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/bae8453e-5ec1-4a77-8878-78c689a4300d"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/bae8453e-5ec1-4a77-8878-78c689a4300d"},"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":"3b5c7a46-7461-43ac-9954-b8457e3e71fe"},{"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":"01a83455-7ced-4734-9d1c-f5d4574a4d3f"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"e71c88f6-8588-4db1-b934-0d44cb9fa777"}]},"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/db0f5b47-1295-413e-9d29-881929564670"},{"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/92fe4bb0-fe52-46a7-a876-a00f93badfbf"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":536,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:11Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":536,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.959581,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:11Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454590,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU5MH0.9mS9Inma4AakHZut1n3po0rgWsi6YrQscMHeOz-d_1A"} 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":"e6075d70-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fbae8453e-5ec1-4a77-8878-78c689a4300d#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fbae8453e-5ec1-4a77-8878-78c689a4300d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"430e9ba2-ad59-4e1b-a3ed-e6d5721c239b","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454591.791432} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"190ca7cc-3d16-498e-9b26-d88e13a3ddb8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454591.7918916} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","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%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"87af29d8-7794-465c-aeb0-4bd8ae25b549","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454591.7940943} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bf2129e6-9106-480a-add1-37f34590f318","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454591.794317} authorization_1 | {"level":"info","message":"POST /relations/update 200 145ms","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":"cca2935c4a66a7e20d311f66bcdc44eb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":145}} authorization_1 | {"level":"info","message":"POST /relations/update 200 100ms","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":"e6075d70-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":100}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/bae8453e-5ec1-4a77-8878-78c689a4300d","user":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 906ms","method":"POST","requestID":"cca2935c4a66a7e20d311f66bcdc44eb","responseTime":906,"status":201,"url":"/experiments?"} gateway_1 | {"time_local":"20/Feb/2024:18:43:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1219","request_time":"0.915","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cca2935c4a66a7e20d311f66bcdc44eb"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU5MX0.nuro_L65foGUxp2axK2jQWgAhignXtCEU9lbKsC2PMU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a1fc40b59bfd21762cb9a17b7034937b","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":537,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:11Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":537,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.724115,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:11Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/92fe4bb0-fe52-46a7-a876-a00f93badfbf","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/92fe4bb0-fe52-46a7-a876-a00f93badfbf","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454591,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU5MX0.nuro_L65foGUxp2axK2jQWgAhignXtCEU9lbKsC2PMU"} 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":"a1fc40b59bfd21762cb9a17b7034937b"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92fe4bb0-fe52-46a7-a876-a00f93badfbf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92fe4bb0-fe52-46a7-a876-a00f93badfbf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:43:09.130617333Z"}]},"request_id":"c5429acf-e634-4505-b5d0-2fb7a66bdcaf","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454591.8207233} 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":"a1fc40b59bfd21762cb9a17b7034937b"},"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/d7c90e48-57b1-4a45-ab1a-4db065c2f356'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/d7c90e48-57b1-4a45-ab1a-4db065c2f356'"} 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 257ms","method":"POST","requestID":"e6075d70-d01f-11ee-ad1d-cbf3af4d0136","responseTime":257,"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":"20/Feb/2024:18:43:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/92fe4bb0-fe52-46a7-a876-a00f93badfbf? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.138","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a1fc40b59bfd21762cb9a17b7034937b"} device_1 | {"level":"info","message":"GET /devices/92fe4bb0-fe52-46a7-a876-a00f93badfbf? 200 134ms","method":"GET","requestID":"a1fc40b59bfd21762cb9a17b7034937b","responseTime":134,"status":200,"url":"/devices/92fe4bb0-fe52-46a7-a876-a00f93badfbf?"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU5MX0.nuro_L65foGUxp2axK2jQWgAhignXtCEU9lbKsC2PMU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6e738c8d468853a18e2bc311c0bf0544","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":538,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:11Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":538,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.870193,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:11Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/db0f5b47-1295-413e-9d29-881929564670","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/db0f5b47-1295-413e-9d29-881929564670","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454591,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU5MX0.nuro_L65foGUxp2axK2jQWgAhignXtCEU9lbKsC2PMU"} 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":"6e738c8d468853a18e2bc311c0bf0544"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdb0f5b47-1295-413e-9d29-881929564670","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdb0f5b47-1295-413e-9d29-881929564670","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:43:09.482196981Z"}]},"request_id":"c9e529c3-a47f-4b6a-88df-ad7b0d959efa","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454591.9669476} 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":"6e738c8d468853a18e2bc311c0bf0544"},"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":"20/Feb/2024:18:43:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/db0f5b47-1295-413e-9d29-881929564670? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6e738c8d468853a18e2bc311c0bf0544"} device_1 | {"level":"info","message":"GET /devices/db0f5b47-1295-413e-9d29-881929564670? 200 15ms","method":"GET","requestID":"6e738c8d468853a18e2bc311c0bf0544","responseTime":15,"status":200,"url":"/devices/db0f5b47-1295-413e-9d29-881929564670?"} device_1 | {"data":{"peerconnection":"d7c90e48-57b1-4a45-ab1a-4db065c2f356","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"d7c90e48-57b1-4a45-ab1a-4db065c2f356","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/d7c90e48-57b1-4a45-ab1a-4db065c2f356' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"d7c90e48-57b1-4a45-ab1a-4db065c2f356","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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"789a5560b35709e0eebf9cb7d1a142ca","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":"connecting","url":"http://localhost/devices/db0f5b47-1295-413e-9d29-881929564670"},{"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/92fe4bb0-fe52-46a7-a876-a00f93badfbf"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/d7c90e48-57b1-4a45-ab1a-4db065c2f356"}}},"level":"info","message":"received a callback"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU5Mn0.pa0Knbg2bAIK6n3goNbHZNtuUmG-KI2H3XUr2WkKChE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"8866ab3517af925baa7acee2b854e6ee","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/bae8453e-5ec1-4a77-8878-78c689a4300d"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":539,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:12Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":539,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.077081,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:12Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/bae8453e-5ec1-4a77-8878-78c689a4300d","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/bae8453e-5ec1-4a77-8878-78c689a4300d","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454592,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU5Mn0.pa0Knbg2bAIK6n3goNbHZNtuUmG-KI2H3XUr2WkKChE"} 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":"8866ab3517af925baa7acee2b854e6ee"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 330ms","method":"POST","requestID":"789a5560b35709e0eebf9cb7d1a142ca","responseTime":330,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:43: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.332","http_referrer":"","http_user_agent":"node-fetch","requestID":"789a5560b35709e0eebf9cb7d1a142ca"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/bae8453e-5ec1-4a77-8878-78c689a4300d"} gateway_1 | {"time_local":"20/Feb/2024:18:43:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/bae8453e-5ec1-4a77-8878-78c689a4300d HTTP/1.1","status": "200","body_bytes_sent":"1290","request_time":"0.195","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8866ab3517af925baa7acee2b854e6ee"} experiment_1 | {"level":"info","message":"GET /experiments/bae8453e-5ec1-4a77-8878-78c689a4300d 200 188ms","method":"GET","requestID":"8866ab3517af925baa7acee2b854e6ee","responseTime":188,"status":200,"url":"/experiments/bae8453e-5ec1-4a77-8878-78c689a4300d"} device_1 | {"data":{"peerconnection":"d7c90e48-57b1-4a45-ab1a-4db065c2f356","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU5Mn0.pa0Knbg2bAIK6n3goNbHZNtuUmG-KI2H3XUr2WkKChE","level":"info","message":"auth send jwt"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/bae8453e-5ec1-4a77-8878-78c689a4300d"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3cfa62e2888226dff47ba03ce199ce59","responseTime":4,"status":200,"url":"/auth"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":540,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:12Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":540,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.433054,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:12Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/bae8453e-5ec1-4a77-8878-78c689a4300d","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/bae8453e-5ec1-4a77-8878-78c689a4300d","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454592,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU5Mn0.pa0Knbg2bAIK6n3goNbHZNtuUmG-KI2H3XUr2WkKChE"} 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":"3cfa62e2888226dff47ba03ce199ce59"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/bae8453e-5ec1-4a77-8878-78c689a4300d"},"level":"info","message":"Successfully created peerconnections for experiment"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/bae8453e-5ec1-4a77-8878-78c689a4300d"} experiment_1 | {"level":"info","message":"GET /experiments/bae8453e-5ec1-4a77-8878-78c689a4300d 200 259ms","method":"GET","requestID":"3cfa62e2888226dff47ba03ce199ce59","responseTime":259,"status":200,"url":"/experiments/bae8453e-5ec1-4a77-8878-78c689a4300d"} gateway_1 | {"time_local":"20/Feb/2024:18:43:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/bae8453e-5ec1-4a77-8878-78c689a4300d HTTP/1.1","status": "200","body_bytes_sent":"1290","request_time":"0.265","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3cfa62e2888226dff47ba03ce199ce59"} device_1 | {"data":{"peerconnection":"d7c90e48-57b1-4a45-ab1a-4db065c2f356","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU5Mn0.pa0Knbg2bAIK6n3goNbHZNtuUmG-KI2H3XUr2WkKChE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"6245f63169f213f09a5d5380935433b5","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/bae8453e-5ec1-4a77-8878-78c689a4300d"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":541,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:12Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":541,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.328055,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:12Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/bae8453e-5ec1-4a77-8878-78c689a4300d","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/bae8453e-5ec1-4a77-8878-78c689a4300d","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454592,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU5Mn0.pa0Knbg2bAIK6n3goNbHZNtuUmG-KI2H3XUr2WkKChE"} 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":"6245f63169f213f09a5d5380935433b5"},"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/bae8453e-5ec1-4a77-8878-78c689a4300d"} gateway_1 | {"time_local":"20/Feb/2024:18:43:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/bae8453e-5ec1-4a77-8878-78c689a4300d HTTP/1.1","status": "200","body_bytes_sent":"1290","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6245f63169f213f09a5d5380935433b5"} experiment_1 | {"level":"info","message":"GET /experiments/bae8453e-5ec1-4a77-8878-78c689a4300d 200 17ms","method":"GET","requestID":"6245f63169f213f09a5d5380935433b5","responseTime":17,"status":200,"url":"/experiments/bae8453e-5ec1-4a77-8878-78c689a4300d"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/d7c90e48-57b1-4a45-ab1a-4db065c2f356' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"d7c90e48-57b1-4a45-ab1a-4db065c2f356","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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"56c605561121d41a897c609243d7b9e6","responseTime":1,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/db0f5b47-1295-413e-9d29-881929564670"},{"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/92fe4bb0-fe52-46a7-a876-a00f93badfbf"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/d7c90e48-57b1-4a45-ab1a-4db065c2f356"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":542,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:12Z"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","contextual_tuples":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd7c90e48-57b1-4a45-ab1a-4db065c2f356","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5330be85-7b92-48d3-9b5e-06730e804cff","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454592.8742356} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":542,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":4.457849,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:12Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/d7c90e48-57b1-4a45-ab1a-4db065c2f356","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/d7c90e48-57b1-4a45-ab1a-4db065c2f356","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e6bb6b30-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU5Mn0.pa0Knbg2bAIK6n3goNbHZNtuUmG-KI2H3XUr2WkKChE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8678733aa12e0daaeece2ab15a4035b8","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/bae8453e-5ec1-4a77-8878-78c689a4300d"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":543,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:12Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":543,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.219644,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:12Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/bae8453e-5ec1-4a77-8878-78c689a4300d","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/bae8453e-5ec1-4a77-8878-78c689a4300d","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454592,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU5Mn0.pa0Knbg2bAIK6n3goNbHZNtuUmG-KI2H3XUr2WkKChE"} 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":"8678733aa12e0daaeece2ab15a4035b8"},"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/bae8453e-5ec1-4a77-8878-78c689a4300d"} gateway_1 | {"time_local":"20/Feb/2024:18:43:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/bae8453e-5ec1-4a77-8878-78c689a4300d HTTP/1.1","status": "200","body_bytes_sent":"1290","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8678733aa12e0daaeece2ab15a4035b8"} experiment_1 | {"level":"info","message":"GET /experiments/bae8453e-5ec1-4a77-8878-78c689a4300d 200 16ms","method":"GET","requestID":"8678733aa12e0daaeece2ab15a4035b8","responseTime":16,"status":200,"url":"/experiments/bae8453e-5ec1-4a77-8878-78c689a4300d"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"GET /peerconnections/d7c90e48-57b1-4a45-ab1a-4db065c2f356 200 146ms","method":"GET","requestID":"e6bb6b30-d01f-11ee-ad1d-cbf3af4d0136","responseTime":146,"status":200,"url":"/peerconnections/d7c90e48-57b1-4a45-ab1a-4db065c2f356"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU5M30.FU6eSZpL0ORDrKkyeeRVrDd70Ed-8T33cEe91HcgNW4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"b61bba2e6927dab45ca319a56f672442","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/bae8453e-5ec1-4a77-8878-78c689a4300d"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":544,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:13Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":544,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.279417,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:13Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/bae8453e-5ec1-4a77-8878-78c689a4300d","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/bae8453e-5ec1-4a77-8878-78c689a4300d","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454593,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU5M30.FU6eSZpL0ORDrKkyeeRVrDd70Ed-8T33cEe91HcgNW4"} 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":"b61bba2e6927dab45ca319a56f672442"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 313ms","method":"POST","requestID":"56c605561121d41a897c609243d7b9e6","responseTime":313,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:43: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.316","http_referrer":"","http_user_agent":"node-fetch","requestID":"56c605561121d41a897c609243d7b9e6"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/bae8453e-5ec1-4a77-8878-78c689a4300d"} gateway_1 | {"time_local":"20/Feb/2024:18:43:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/bae8453e-5ec1-4a77-8878-78c689a4300d HTTP/1.1","status": "200","body_bytes_sent":"1292","request_time":"0.132","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b61bba2e6927dab45ca319a56f672442"} experiment_1 | {"level":"info","message":"GET /experiments/bae8453e-5ec1-4a77-8878-78c689a4300d 200 126ms","method":"GET","requestID":"b61bba2e6927dab45ca319a56f672442","responseTime":126,"status":200,"url":"/experiments/bae8453e-5ec1-4a77-8878-78c689a4300d"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU5M30.FU6eSZpL0ORDrKkyeeRVrDd70Ed-8T33cEe91HcgNW4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"1aa8deddabe8e618e13de02c36528da0","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/bae8453e-5ec1-4a77-8878-78c689a4300d"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":545,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:13Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":545,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.206009,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:13Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/bae8453e-5ec1-4a77-8878-78c689a4300d","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/bae8453e-5ec1-4a77-8878-78c689a4300d","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454593,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU5M30.FU6eSZpL0ORDrKkyeeRVrDd70Ed-8T33cEe91HcgNW4"} 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":"1aa8deddabe8e618e13de02c36528da0"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/bae8453e-5ec1-4a77-8878-78c689a4300d"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":546,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:13Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":546,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.310223,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:13Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/d7c90e48-57b1-4a45-ab1a-4db065c2f356","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"peerconnection:http://localhost/peerconnections/d7c90e48-57b1-4a45-ab1a-4db065c2f356","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454593,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU5M30.FU6eSZpL0ORDrKkyeeRVrDd70Ed-8T33cEe91HcgNW4"} 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":"e6ee6210-d01f-11ee-ad1d-cbf3af4d0136"},"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/d7c90e48-57b1-4a45-ab1a-4db065c2f356' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/d7c90e48-57b1-4a45-ab1a-4db065c2f356' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"d7c90e48-57b1-4a45-ab1a-4db065c2f356","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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd7c90e48-57b1-4a45-ab1a-4db065c2f356': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd7c90e48-57b1-4a45-ab1a-4db065c2f356","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]},"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":null},"raw_response":{},"request_id":"d8506f8c-f281-4102-bad1-473503103c71","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454593.221126} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c26b3a1a3063ea27104592eab4a3f4eb","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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"35098cd1-2848-4f59-91a7-d70f6ea18bdd","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454593.2215383} 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/db0f5b47-1295-413e-9d29-881929564670"},{"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/92fe4bb0-fe52-46a7-a876-a00f93badfbf"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/d7c90e48-57b1-4a45-ab1a-4db065c2f356"}}},"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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"95ee54d1ef5450fec1a227324ee79df7","responseTime":1,"status":200,"url":"/auth"} authorization_1 | {"level":"info","message":"POST /relations/update 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e6ee6210-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} 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/db0f5b47-1295-413e-9d29-881929564670"},{"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/92fe4bb0-fe52-46a7-a876-a00f93badfbf"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/d7c90e48-57b1-4a45-ab1a-4db065c2f356"}}},"level":"info","message":"received a callback"} device_1 | {"data":{"peerconnection":"d7c90e48-57b1-4a45-ab1a-4db065c2f356","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/d7c90e48-57b1-4a45-ab1a-4db065c2f356 204 314ms","method":"DELETE","requestID":"e6ee6210-d01f-11ee-ad1d-cbf3af4d0136","responseTime":314,"status":204,"url":"/peerconnections/d7c90e48-57b1-4a45-ab1a-4db065c2f356"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/bae8453e-5ec1-4a77-8878-78c689a4300d"},"level":"info","message":"Successfully finished experiment"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fbae8453e-5ec1-4a77-8878-78c689a4300d': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fbae8453e-5ec1-4a77-8878-78c689a4300d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]},"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":null},"raw_response":{},"request_id":"868c3ac5-406f-4dd8-ae85-4c2dc1747ccb","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454593.7840376} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7b95f14d-8a99-4548-a003-0628a552193b","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454593.7842653} authorization_1 | {"level":"info","message":"POST /relations/update 200 137ms","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":"1aa8deddabe8e618e13de02c36528da0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":137}} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/bae8453e-5ec1-4a77-8878-78c689a4300d"} gateway_1 | {"time_local":"20/Feb/2024:18:43:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/bae8453e-5ec1-4a77-8878-78c689a4300d HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"1.365","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1aa8deddabe8e618e13de02c36528da0"} gateway_1 | {"time_local":"20/Feb/2024:18:43:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1722","request_time":"3.960","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"4c972c399186c449e8e1ce3ecfdb827e"} gateway_1 | {"time_local":"20/Feb/2024:18:43:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1724","request_time":"4.128","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"c9a7bdc2dc46f94b812891a86ddaa883"} experiment_1 | {"level":"info","message":"DELETE /experiments/bae8453e-5ec1-4a77-8878-78c689a4300d 204 1362ms","method":"DELETE","requestID":"1aa8deddabe8e618e13de02c36528da0","responseTime":1362,"status":204,"url":"/experiments/bae8453e-5ec1-4a77-8878-78c689a4300d"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1329ms","method":"POST","requestID":"c26b3a1a3063ea27104592eab4a3f4eb","responseTime":1329,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:43:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"1.332","http_referrer":"","http_user_agent":"node-fetch","requestID":"c26b3a1a3063ea27104592eab4a3f4eb"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1328ms","method":"POST","requestID":"95ee54d1ef5450fec1a227324ee79df7","responseTime":1328,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:43:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"1.333","http_referrer":"","http_user_agent":"node-fetch","requestID":"95ee54d1ef5450fec1a227324ee79df7"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU5NH0.do22zGw7O3Iy_YauMTjI4Zm-_ODgqyPE6OpjwvVioQM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"a864d38bb672890d57b030dfe245c14d","responseTime":6,"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/92fe4bb0-fe52-46a7-a876-a00f93badfbf' closed"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":547,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:14Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":547,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.84762,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:14Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454594,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU5NH0.do22zGw7O3Iy_YauMTjI4Zm-_ODgqyPE6OpjwvVioQM"} 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":"a864d38bb672890d57b030dfe245c14d"},"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/db0f5b47-1295-413e-9d29-881929564670' 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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe78e4c5f-16f9-4042-a93e-512dd55ad404","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ae901938-a1e9-40e0-adf8-24ca64eec67e","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454594.8344686} 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":"a864d38bb672890d57b030dfe245c14d"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e60e9d7d-0419-478d-a868-300a1aacec7a","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454594.8419068} 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":"a864d38bb672890d57b030dfe245c14d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe78e4c5f-16f9-4042-a93e-512dd55ad404","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"8384cb65-a9c9-48f0-82a2-fd81bb8365ad","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454595.000095} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8386f466-2854-418d-ad6f-ac5e096246d5","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454595.000379} authorization_1 | {"level":"info","message":"POST /relations/update 200 162ms","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":"a864d38bb672890d57b030dfe245c14d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":162}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe78e4c5f-16f9-4042-a93e-512dd55ad404","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe78e4c5f-16f9-4042-a93e-512dd55ad404","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:43:15.000061050Z"}]},"request_id":"29beba5b-fa3c-4db0-a51d-b3f4bacba895","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454595.00777} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a864d38bb672890d57b030dfe245c14d"},"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 450ms","method":"POST","requestID":"a864d38bb672890d57b030dfe245c14d","responseTime":450,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"20/Feb/2024:18:43:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.461","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a864d38bb672890d57b030dfe245c14d"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU5NX0.viXuazQiSq0MMOpcfdxo8kJP-ZhnuRtslEHEe31WD8o","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2b51f039145f0ce5c06577d6fe17a534","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":548,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:15Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":548,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.623566,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:15Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454595,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU5NX0.viXuazQiSq0MMOpcfdxo8kJP-ZhnuRtslEHEe31WD8o"} 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":"2b51f039145f0ce5c06577d6fe17a534"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10b8f9d8-9fa7-4ed1-ad9d-f3f7a587fc4a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"51a9279b-ee6a-4841-a518-55ea3f10d610","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454595.167904} 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":"2b51f039145f0ce5c06577d6fe17a534"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"85434a66-740b-4ad1-9beb-4c333e7a38f2","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454595.1751335} 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":"2b51f039145f0ce5c06577d6fe17a534"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10b8f9d8-9fa7-4ed1-ad9d-f3f7a587fc4a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"dc7404d0-e611-420e-9f08-e104eb81c9eb","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454595.4012122} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"46b7519e-4f4a-4e1c-8f11-46d2d7f6a08e","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454595.4014528} authorization_1 | {"level":"info","message":"POST /relations/update 200 229ms","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":"2b51f039145f0ce5c06577d6fe17a534"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":229}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10b8f9d8-9fa7-4ed1-ad9d-f3f7a587fc4a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10b8f9d8-9fa7-4ed1-ad9d-f3f7a587fc4a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:43:15.401166123Z"}]},"request_id":"e09b02df-a2d8-4360-bd93-603e876a10cd","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454595.4081218} 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":"2b51f039145f0ce5c06577d6fe17a534"},"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 396ms","method":"POST","requestID":"2b51f039145f0ce5c06577d6fe17a534","responseTime":396,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"20/Feb/2024:18:43:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.428","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2b51f039145f0ce5c06577d6fe17a534"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"488864b564bd4fdfc604bc570388839c","responseTime":1,"status":200,"url":"/auth"} gateway_1 | {"time_local":"20/Feb/2024:18:43:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/10b8f9d8-9fa7-4ed1-ad9d-f3f7a587fc4a/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":"488864b564bd4fdfc604bc570388839c"} device_1 | {"level":"info","message":"OPTIONS /devices/10b8f9d8-9fa7-4ed1-ad9d-f3f7a587fc4a/websocket 200 1ms","method":"OPTIONS","requestID":"488864b564bd4fdfc604bc570388839c","responseTime":1,"status":200,"url":"/devices/10b8f9d8-9fa7-4ed1-ad9d-f3f7a587fc4a/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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5a1c26bc98514118b09c3104ee682a5d","responseTime":1,"status":200,"url":"/auth"} gateway_1 | {"time_local":"20/Feb/2024:18:43:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/e78e4c5f-16f9-4042-a93e-512dd55ad404/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":"5a1c26bc98514118b09c3104ee682a5d"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU5N30.Dirf0eLdf8MOBLiOha47g1SbDqtMwU11gOuJrTy1mx0","level":"info","message":"auth send jwt"} device_1 | {"level":"info","message":"OPTIONS /devices/e78e4c5f-16f9-4042-a93e-512dd55ad404/websocket 200 1ms","method":"OPTIONS","requestID":"5a1c26bc98514118b09c3104ee682a5d","responseTime":1,"status":200,"url":"/devices/e78e4c5f-16f9-4042-a93e-512dd55ad404/websocket"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"acdd90f45367c6eff05752630e4da95a","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":549,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:17Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":549,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.98559,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:17Z"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU5N30.Dirf0eLdf8MOBLiOha47g1SbDqtMwU11gOuJrTy1mx0","level":"info","message":"auth send jwt"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/10b8f9d8-9fa7-4ed1-ad9d-f3f7a587fc4a","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/10b8f9d8-9fa7-4ed1-ad9d-f3f7a587fc4a","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454597,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU5N30.Dirf0eLdf8MOBLiOha47g1SbDqtMwU11gOuJrTy1mx0"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2148cc706d4cc82486986876d2373f5c","responseTime":3,"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":"acdd90f45367c6eff05752630e4da95a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":550,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:17Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":550,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.88144,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:17Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e78e4c5f-16f9-4042-a93e-512dd55ad404","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/e78e4c5f-16f9-4042-a93e-512dd55ad404","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454597,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU5N30.Dirf0eLdf8MOBLiOha47g1SbDqtMwU11gOuJrTy1mx0"} 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":"2148cc706d4cc82486986876d2373f5c"},"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":"20/Feb/2024:18:43:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/10b8f9d8-9fa7-4ed1-ad9d-f3f7a587fc4a/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.156","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"acdd90f45367c6eff05752630e4da95a"} device_1 | {"level":"info","message":"POST /devices/10b8f9d8-9fa7-4ed1-ad9d-f3f7a587fc4a/websocket 200 149ms","method":"POST","requestID":"acdd90f45367c6eff05752630e4da95a","responseTime":149,"status":200,"url":"/devices/10b8f9d8-9fa7-4ed1-ad9d-f3f7a587fc4a/websocket"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device_1 | {"level":"info","message":"POST /devices/e78e4c5f-16f9-4042-a93e-512dd55ad404/websocket 200 460ms","method":"POST","requestID":"2148cc706d4cc82486986876d2373f5c","responseTime":460,"status":200,"url":"/devices/e78e4c5f-16f9-4042-a93e-512dd55ad404/websocket"} gateway_1 | {"time_local":"20/Feb/2024:18:43:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/e78e4c5f-16f9-4042-a93e-512dd55ad404/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.463","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"2148cc706d4cc82486986876d2373f5c"} device_1 | {"level":"info","message":"device 'http://localhost/devices/10b8f9d8-9fa7-4ed1-ad9d-f3f7a587fc4a' connected"} device_1 | {"level":"info","message":"device 'http://localhost/devices/e78e4c5f-16f9-4042-a93e-512dd55ad404' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU5OH0.yr5MDdJ-9kEEfTPuRw9z_306HlQ0p-yCewqep1sE6Ts","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6ec80469a999f6e8a0f33e88b5740afb","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":551,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:18Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":551,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.39354,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:18Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e78e4c5f-16f9-4042-a93e-512dd55ad404","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/e78e4c5f-16f9-4042-a93e-512dd55ad404","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454598,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU5OH0.yr5MDdJ-9kEEfTPuRw9z_306HlQ0p-yCewqep1sE6Ts"} 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":"6ec80469a999f6e8a0f33e88b5740afb"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe78e4c5f-16f9-4042-a93e-512dd55ad404","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe78e4c5f-16f9-4042-a93e-512dd55ad404","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:43:15.000061050Z"}]},"request_id":"945ee1d3-5aa7-4c6c-aa9c-1200d4e677f6","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454598.1048899} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6ec80469a999f6e8a0f33e88b5740afb"},"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":"20/Feb/2024:18:43:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e78e4c5f-16f9-4042-a93e-512dd55ad404? 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":"6ec80469a999f6e8a0f33e88b5740afb"} device_1 | {"level":"info","message":"GET /devices/e78e4c5f-16f9-4042-a93e-512dd55ad404? 200 16ms","method":"GET","requestID":"6ec80469a999f6e8a0f33e88b5740afb","responseTime":16,"status":200,"url":"/devices/e78e4c5f-16f9-4042-a93e-512dd55ad404?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU5OH0.yr5MDdJ-9kEEfTPuRw9z_306HlQ0p-yCewqep1sE6Ts","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"eb585ef5a0ba15509599a396e85b11fa","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":552,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:18Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":552,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.146572,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:18Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/10b8f9d8-9fa7-4ed1-ad9d-f3f7a587fc4a","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/10b8f9d8-9fa7-4ed1-ad9d-f3f7a587fc4a","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454598,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU5OH0.yr5MDdJ-9kEEfTPuRw9z_306HlQ0p-yCewqep1sE6Ts"} 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":"eb585ef5a0ba15509599a396e85b11fa"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10b8f9d8-9fa7-4ed1-ad9d-f3f7a587fc4a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10b8f9d8-9fa7-4ed1-ad9d-f3f7a587fc4a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:43:15.401166123Z"}]},"request_id":"f08cd682-dbe9-4d39-a891-eda181a8b870","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454598.1276472} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"eb585ef5a0ba15509599a396e85b11fa"},"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":"20/Feb/2024:18:43:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/10b8f9d8-9fa7-4ed1-ad9d-f3f7a587fc4a? 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":"eb585ef5a0ba15509599a396e85b11fa"} device_1 | {"level":"info","message":"GET /devices/10b8f9d8-9fa7-4ed1-ad9d-f3f7a587fc4a? 200 16ms","method":"GET","requestID":"eb585ef5a0ba15509599a396e85b11fa","responseTime":16,"status":200,"url":"/devices/10b8f9d8-9fa7-4ed1-ad9d-f3f7a587fc4a?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU5OH0.yr5MDdJ-9kEEfTPuRw9z_306HlQ0p-yCewqep1sE6Ts","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b74e9bd3beb026be6a7c7f4cb0bf657f","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:48424","level":"info","msg":"Received request.","req_id":553,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:18Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":553,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.260314,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:18Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454598,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU5OH0.yr5MDdJ-9kEEfTPuRw9z_306HlQ0p-yCewqep1sE6Ts"} 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":"b74e9bd3beb026be6a7c7f4cb0bf657f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/d94d2006-41f7-4018-91c8-8ad7e5e97650"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/d94d2006-41f7-4018-91c8-8ad7e5e97650"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/d94d2006-41f7-4018-91c8-8ad7e5e97650"},"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:48424","level":"info","msg":"Received request.","req_id":554,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:18Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":554,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.941931,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:18Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e78e4c5f-16f9-4042-a93e-512dd55ad404","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/e78e4c5f-16f9-4042-a93e-512dd55ad404","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454598,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU5OH0.yr5MDdJ-9kEEfTPuRw9z_306HlQ0p-yCewqep1sE6Ts"} 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":"ea0abd40-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:38162","level":"info","msg":"Received request.","req_id":555,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:18Z"} authorization_1 | {"client_addr":"127.0.0.1:38162","level":"info","msg":"Sent response.","req_id":555,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.039704,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:18Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/10b8f9d8-9fa7-4ed1-ad9d-f3f7a587fc4a","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/10b8f9d8-9fa7-4ed1-ad9d-f3f7a587fc4a","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454598,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU5OH0.yr5MDdJ-9kEEfTPuRw9z_306HlQ0p-yCewqep1sE6Ts"} 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":"ea0b0b60-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe78e4c5f-16f9-4042-a93e-512dd55ad404","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe78e4c5f-16f9-4042-a93e-512dd55ad404","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:43:15.000061050Z"}]},"request_id":"409d920d-ff21-470c-a67e-16641c5a07b6","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454598.4346054} 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":"ea0abd40-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10b8f9d8-9fa7-4ed1-ad9d-f3f7a587fc4a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10b8f9d8-9fa7-4ed1-ad9d-f3f7a587fc4a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:43:15.401166123Z"}]},"request_id":"f36bd9fd-dd36-4803-8ed8-93aa6af59ffa","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454598.438879} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/e78e4c5f-16f9-4042-a93e-512dd55ad404? 200 19ms","method":"GET","requestID":"ea0abd40-d01f-11ee-ad1d-cbf3af4d0136","responseTime":19,"status":200,"url":"/devices/e78e4c5f-16f9-4042-a93e-512dd55ad404?"} 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":"ea0b0b60-d01f-11ee-ad1d-cbf3af4d0136"},"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/10b8f9d8-9fa7-4ed1-ad9d-f3f7a587fc4a? 200 21ms","method":"GET","requestID":"ea0b0b60-d01f-11ee-ad1d-cbf3af4d0136","responseTime":21,"status":200,"url":"/devices/10b8f9d8-9fa7-4ed1-ad9d-f3f7a587fc4a?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/d94d2006-41f7-4018-91c8-8ad7e5e97650"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/d94d2006-41f7-4018-91c8-8ad7e5e97650"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/d94d2006-41f7-4018-91c8-8ad7e5e97650"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/d94d2006-41f7-4018-91c8-8ad7e5e97650"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/d94d2006-41f7-4018-91c8-8ad7e5e97650"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/d94d2006-41f7-4018-91c8-8ad7e5e97650"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/d94d2006-41f7-4018-91c8-8ad7e5e97650"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/d94d2006-41f7-4018-91c8-8ad7e5e97650"},"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/d94d2006-41f7-4018-91c8-8ad7e5e97650"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":556,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:18Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":556,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.039985,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:18Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e78e4c5f-16f9-4042-a93e-512dd55ad404","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/e78e4c5f-16f9-4042-a93e-512dd55ad404","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454598,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU5OH0.yr5MDdJ-9kEEfTPuRw9z_306HlQ0p-yCewqep1sE6Ts"} 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":"ea4b48b0-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:38162","level":"info","msg":"Received request.","req_id":557,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:18Z"} authorization_1 | {"client_addr":"127.0.0.1:38162","level":"info","msg":"Sent response.","req_id":557,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.640367,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:18Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/10b8f9d8-9fa7-4ed1-ad9d-f3f7a587fc4a","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/10b8f9d8-9fa7-4ed1-ad9d-f3f7a587fc4a","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454598,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU5OH0.yr5MDdJ-9kEEfTPuRw9z_306HlQ0p-yCewqep1sE6Ts"} 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":"ea4b96d0-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe78e4c5f-16f9-4042-a93e-512dd55ad404","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe78e4c5f-16f9-4042-a93e-512dd55ad404","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:43:15.000061050Z"}]},"request_id":"be9ee967-2044-4677-893c-780d3c0be50a","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454598.8573985} 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":"ea4b48b0-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10b8f9d8-9fa7-4ed1-ad9d-f3f7a587fc4a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10b8f9d8-9fa7-4ed1-ad9d-f3f7a587fc4a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:43:15.401166123Z"}]},"request_id":"181dd8e3-9d20-4790-a347-69974312fe87","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454598.859059} 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":"ea4b96d0-d01f-11ee-ad1d-cbf3af4d0136"},"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/e78e4c5f-16f9-4042-a93e-512dd55ad404? 200 21ms","method":"GET","requestID":"ea4b48b0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":21,"status":200,"url":"/devices/e78e4c5f-16f9-4042-a93e-512dd55ad404?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/10b8f9d8-9fa7-4ed1-ad9d-f3f7a587fc4a? 200 20ms","method":"GET","requestID":"ea4b96d0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":20,"status":200,"url":"/devices/10b8f9d8-9fa7-4ed1-ad9d-f3f7a587fc4a?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":558,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:18Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":558,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":1.110664,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:18Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/e78e4c5f-16f9-4042-a93e-512dd55ad404","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e78e4c5f-16f9-4042-a93e-512dd55ad404","object_type":"device","rebac_allow":false,"scope_allow":false,"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":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ea4f1940-d01f-11ee-ad1d-cbf3af4d0136"},"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/e78e4c5f-16f9-4042-a93e-512dd55ad404/signaling 200 8ms","method":"POST","requestID":"ea4f1940-d01f-11ee-ad1d-cbf3af4d0136","responseTime":8,"status":200,"url":"/devices/e78e4c5f-16f9-4042-a93e-512dd55ad404/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":559,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:18Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":559,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.947787,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:18Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/10b8f9d8-9fa7-4ed1-ad9d-f3f7a587fc4a","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/10b8f9d8-9fa7-4ed1-ad9d-f3f7a587fc4a","object_type":"device","rebac_allow":false,"scope_allow":false,"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":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ea50c6f0-d01f-11ee-ad1d-cbf3af4d0136"},"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/10b8f9d8-9fa7-4ed1-ad9d-f3f7a587fc4a/signaling 200 9ms","method":"POST","requestID":"ea50c6f0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":9,"status":200,"url":"/devices/10b8f9d8-9fa7-4ed1-ad9d-f3f7a587fc4a/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/d94d2006-41f7-4018-91c8-8ad7e5e97650"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/d94d2006-41f7-4018-91c8-8ad7e5e97650"},"level":"info","message":"Building connection plan"} experiment_1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"9606c15a-6d8e-4a97-9b2a-04cc6ece54df"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"c6c541a8-8a7e-45e7-bad1-6bc766f64fbe"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"93b5ac9c-198d-448e-885a-d6cd02b3a329"}]},"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/10b8f9d8-9fa7-4ed1-ad9d-f3f7a587fc4a"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/e78e4c5f-16f9-4042-a93e-512dd55ad404"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":560,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:18Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":560,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.846912,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:18Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454598,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU5OH0.yr5MDdJ-9kEEfTPuRw9z_306HlQ0p-yCewqep1sE6Ts"} 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":"ea529bb0-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd94d2006-41f7-4018-91c8-8ad7e5e97650#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd94d2006-41f7-4018-91c8-8ad7e5e97650","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"2517f236-ff4b-4515-ab1a-e905d78ec421","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454599.034076} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fd7153d1-160f-4cad-a446-ddd34dd4c6d2","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454599.0348725} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","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%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"fee830de-2d6b-4cb9-9613-3fbd9968a5c0","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454599.0367773} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"302f5d35-25a2-4e11-904a-13df183facaa","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454599.0371668} authorization_1 | {"level":"info","message":"POST /relations/update 200 187ms","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":"b74e9bd3beb026be6a7c7f4cb0bf657f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":187}} authorization_1 | {"level":"info","message":"POST /relations/update 200 139ms","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":"ea529bb0-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":139}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/d94d2006-41f7-4018-91c8-8ad7e5e97650","user":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 909ms","method":"POST","requestID":"b74e9bd3beb026be6a7c7f4cb0bf657f","responseTime":909,"status":201,"url":"/experiments?"} gateway_1 | {"time_local":"20/Feb/2024:18:43:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.917","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b74e9bd3beb026be6a7c7f4cb0bf657f"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU5OX0.ARwPDfiZDTd_n7GIXKP5shwVAojtpiJETkdUTIwNYkE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"34dfce0f58eb702aa2dd676a16192b4c","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":561,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:19Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":561,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.705609,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:19Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e78e4c5f-16f9-4042-a93e-512dd55ad404","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/e78e4c5f-16f9-4042-a93e-512dd55ad404","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454599,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU5OX0.ARwPDfiZDTd_n7GIXKP5shwVAojtpiJETkdUTIwNYkE"} 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":"34dfce0f58eb702aa2dd676a16192b4c"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe78e4c5f-16f9-4042-a93e-512dd55ad404","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe78e4c5f-16f9-4042-a93e-512dd55ad404","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:43:15.000061050Z"}]},"request_id":"252d2f53-fd72-4908-bc65-9a74cb27aa33","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454599.0664792} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"34dfce0f58eb702aa2dd676a16192b4c"},"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/e201dc71-5ff7-40c6-9ee5-2e7e96f8c749'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/e201dc71-5ff7-40c6-9ee5-2e7e96f8c749'"} 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 320ms","method":"POST","requestID":"ea529bb0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":320,"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":"20/Feb/2024:18:43:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e78e4c5f-16f9-4042-a93e-512dd55ad404? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.160","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"34dfce0f58eb702aa2dd676a16192b4c"} device_1 | {"level":"info","message":"GET /devices/e78e4c5f-16f9-4042-a93e-512dd55ad404? 200 155ms","method":"GET","requestID":"34dfce0f58eb702aa2dd676a16192b4c","responseTime":155,"status":200,"url":"/devices/e78e4c5f-16f9-4042-a93e-512dd55ad404?"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU5OX0.ARwPDfiZDTd_n7GIXKP5shwVAojtpiJETkdUTIwNYkE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"5b5601135d8cfcfb9e5b52d2a5691f1f","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":562,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:19Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":562,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.87764,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:19Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/10b8f9d8-9fa7-4ed1-ad9d-f3f7a587fc4a","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/10b8f9d8-9fa7-4ed1-ad9d-f3f7a587fc4a","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454599,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU5OX0.ARwPDfiZDTd_n7GIXKP5shwVAojtpiJETkdUTIwNYkE"} 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":"5b5601135d8cfcfb9e5b52d2a5691f1f"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10b8f9d8-9fa7-4ed1-ad9d-f3f7a587fc4a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10b8f9d8-9fa7-4ed1-ad9d-f3f7a587fc4a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:43:15.401166123Z"}]},"request_id":"5f93a916-3234-4ed3-b519-ffb14d125178","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454599.2317195} 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":"5b5601135d8cfcfb9e5b52d2a5691f1f"},"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":"20/Feb/2024:18:43:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/10b8f9d8-9fa7-4ed1-ad9d-f3f7a587fc4a? 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":"5b5601135d8cfcfb9e5b52d2a5691f1f"} device_1 | {"level":"info","message":"GET /devices/10b8f9d8-9fa7-4ed1-ad9d-f3f7a587fc4a? 200 12ms","method":"GET","requestID":"5b5601135d8cfcfb9e5b52d2a5691f1f","responseTime":12,"status":200,"url":"/devices/10b8f9d8-9fa7-4ed1-ad9d-f3f7a587fc4a?"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/e201dc71-5ff7-40c6-9ee5-2e7e96f8c749' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"e201dc71-5ff7-40c6-9ee5-2e7e96f8c749","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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"398af356ba071f4185753a31aced53c4","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/10b8f9d8-9fa7-4ed1-ad9d-f3f7a587fc4a"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/e78e4c5f-16f9-4042-a93e-512dd55ad404"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/e201dc71-5ff7-40c6-9ee5-2e7e96f8c749"}}},"level":"info","message":"received a callback"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/d94d2006-41f7-4018-91c8-8ad7e5e97650"},"level":"info","message":"Successfully created peerconnections for experiment"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 105ms","method":"POST","requestID":"398af356ba071f4185753a31aced53c4","responseTime":105,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:43:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.108","http_referrer":"","http_user_agent":"node-fetch","requestID":"398af356ba071f4185753a31aced53c4"} device_1 | {"data":{"peerconnection":"e201dc71-5ff7-40c6-9ee5-2e7e96f8c749","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU5OX0.ARwPDfiZDTd_n7GIXKP5shwVAojtpiJETkdUTIwNYkE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"9955b4715a7cc250bacf02d7d96be1ef","responseTime":6,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/d94d2006-41f7-4018-91c8-8ad7e5e97650"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":563,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:19Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":563,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.033481,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:19Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/d94d2006-41f7-4018-91c8-8ad7e5e97650","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/d94d2006-41f7-4018-91c8-8ad7e5e97650","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454599,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU5OX0.ARwPDfiZDTd_n7GIXKP5shwVAojtpiJETkdUTIwNYkE"} 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":"9955b4715a7cc250bacf02d7d96be1ef"},"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/d94d2006-41f7-4018-91c8-8ad7e5e97650"} gateway_1 | {"time_local":"20/Feb/2024:18:43:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/d94d2006-41f7-4018-91c8-8ad7e5e97650 HTTP/1.1","status": "200","body_bytes_sent":"878","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9955b4715a7cc250bacf02d7d96be1ef"} experiment_1 | {"level":"info","message":"GET /experiments/d94d2006-41f7-4018-91c8-8ad7e5e97650 200 13ms","method":"GET","requestID":"9955b4715a7cc250bacf02d7d96be1ef","responseTime":13,"status":200,"url":"/experiments/d94d2006-41f7-4018-91c8-8ad7e5e97650"} device_1 | {"data":{"peerconnection":"e201dc71-5ff7-40c6-9ee5-2e7e96f8c749","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU5OX0.ARwPDfiZDTd_n7GIXKP5shwVAojtpiJETkdUTIwNYkE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ff7c9175b52090d5ea8fd127f34fdd15","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/d94d2006-41f7-4018-91c8-8ad7e5e97650"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":564,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:19Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":564,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.279394,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:19Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/d94d2006-41f7-4018-91c8-8ad7e5e97650","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/d94d2006-41f7-4018-91c8-8ad7e5e97650","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454599,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU5OX0.ARwPDfiZDTd_n7GIXKP5shwVAojtpiJETkdUTIwNYkE"} 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":"ff7c9175b52090d5ea8fd127f34fdd15"},"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/d94d2006-41f7-4018-91c8-8ad7e5e97650"} gateway_1 | {"time_local":"20/Feb/2024:18:43:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/d94d2006-41f7-4018-91c8-8ad7e5e97650 HTTP/1.1","status": "200","body_bytes_sent":"878","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ff7c9175b52090d5ea8fd127f34fdd15"} experiment_1 | {"level":"info","message":"GET /experiments/d94d2006-41f7-4018-91c8-8ad7e5e97650 200 16ms","method":"GET","requestID":"ff7c9175b52090d5ea8fd127f34fdd15","responseTime":16,"status":200,"url":"/experiments/d94d2006-41f7-4018-91c8-8ad7e5e97650"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/e201dc71-5ff7-40c6-9ee5-2e7e96f8c749' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"e201dc71-5ff7-40c6-9ee5-2e7e96f8c749","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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"db0bffa20d1b56482d9c951ab3bb42fa","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/10b8f9d8-9fa7-4ed1-ad9d-f3f7a587fc4a"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/e78e4c5f-16f9-4042-a93e-512dd55ad404"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/e201dc71-5ff7-40c6-9ee5-2e7e96f8c749"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":565,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:19Z"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","contextual_tuples":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe201dc71-5ff7-40c6-9ee5-2e7e96f8c749","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"998bf154-9657-4f2b-96ca-e67ee2223133","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454599.9068747} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":565,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.925675,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:19Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/e201dc71-5ff7-40c6-9ee5-2e7e96f8c749","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/e201dc71-5ff7-40c6-9ee5-2e7e96f8c749","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"eaec91c0-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU5OX0.ARwPDfiZDTd_n7GIXKP5shwVAojtpiJETkdUTIwNYkE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d1e26ff9746cb6bb482ce61837c7d803","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/d94d2006-41f7-4018-91c8-8ad7e5e97650"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":566,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:19Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":566,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.359957,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:19Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/d94d2006-41f7-4018-91c8-8ad7e5e97650","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/d94d2006-41f7-4018-91c8-8ad7e5e97650","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454599,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDU5OX0.ARwPDfiZDTd_n7GIXKP5shwVAojtpiJETkdUTIwNYkE"} 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":"d1e26ff9746cb6bb482ce61837c7d803"},"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/d94d2006-41f7-4018-91c8-8ad7e5e97650"} gateway_1 | {"time_local":"20/Feb/2024:18:43:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/d94d2006-41f7-4018-91c8-8ad7e5e97650 HTTP/1.1","status": "200","body_bytes_sent":"878","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d1e26ff9746cb6bb482ce61837c7d803"} experiment_1 | {"level":"info","message":"GET /experiments/d94d2006-41f7-4018-91c8-8ad7e5e97650 200 15ms","method":"GET","requestID":"d1e26ff9746cb6bb482ce61837c7d803","responseTime":15,"status":200,"url":"/experiments/d94d2006-41f7-4018-91c8-8ad7e5e97650"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"GET /peerconnections/e201dc71-5ff7-40c6-9ee5-2e7e96f8c749 200 138ms","method":"GET","requestID":"eaec91c0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":138,"status":200,"url":"/peerconnections/e201dc71-5ff7-40c6-9ee5-2e7e96f8c749"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDYwMH0.OGwrykMmugCC65zHVedRKzox2WBiVrM5UR_76t2Gp_k","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"115028c6412c63b44c4e5a9b7f9c6328","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/d94d2006-41f7-4018-91c8-8ad7e5e97650"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":567,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:20Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":567,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.209771,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:20Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/d94d2006-41f7-4018-91c8-8ad7e5e97650","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/d94d2006-41f7-4018-91c8-8ad7e5e97650","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454600,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDYwMH0.OGwrykMmugCC65zHVedRKzox2WBiVrM5UR_76t2Gp_k"} 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":"115028c6412c63b44c4e5a9b7f9c6328"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 281ms","method":"POST","requestID":"db0bffa20d1b56482d9c951ab3bb42fa","responseTime":281,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:43:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.284","http_referrer":"","http_user_agent":"node-fetch","requestID":"db0bffa20d1b56482d9c951ab3bb42fa"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/d94d2006-41f7-4018-91c8-8ad7e5e97650"} gateway_1 | {"time_local":"20/Feb/2024:18:43:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/d94d2006-41f7-4018-91c8-8ad7e5e97650 HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.083","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"115028c6412c63b44c4e5a9b7f9c6328"} experiment_1 | {"level":"info","message":"GET /experiments/d94d2006-41f7-4018-91c8-8ad7e5e97650 200 77ms","method":"GET","requestID":"115028c6412c63b44c4e5a9b7f9c6328","responseTime":77,"status":200,"url":"/experiments/d94d2006-41f7-4018-91c8-8ad7e5e97650"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDYwMH0.OGwrykMmugCC65zHVedRKzox2WBiVrM5UR_76t2Gp_k","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"caa21039439a301ad69e520964c133b9","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/d94d2006-41f7-4018-91c8-8ad7e5e97650"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":568,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:20Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":568,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.381864,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:20Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/d94d2006-41f7-4018-91c8-8ad7e5e97650","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/d94d2006-41f7-4018-91c8-8ad7e5e97650","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454600,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDYwMH0.OGwrykMmugCC65zHVedRKzox2WBiVrM5UR_76t2Gp_k"} 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":"caa21039439a301ad69e520964c133b9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/d94d2006-41f7-4018-91c8-8ad7e5e97650"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":569,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:20Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":569,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.676151,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:20Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/e201dc71-5ff7-40c6-9ee5-2e7e96f8c749","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"peerconnection:http://localhost/peerconnections/e201dc71-5ff7-40c6-9ee5-2e7e96f8c749","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454600,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDYwMH0.OGwrykMmugCC65zHVedRKzox2WBiVrM5UR_76t2Gp_k"} 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":"eb1a7f90-d01f-11ee-ad1d-cbf3af4d0136"},"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/e201dc71-5ff7-40c6-9ee5-2e7e96f8c749' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/e201dc71-5ff7-40c6-9ee5-2e7e96f8c749' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"e201dc71-5ff7-40c6-9ee5-2e7e96f8c749","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe201dc71-5ff7-40c6-9ee5-2e7e96f8c749': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe201dc71-5ff7-40c6-9ee5-2e7e96f8c749","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]},"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":null},"raw_response":{},"request_id":"82fd346f-01c1-4381-b6cf-b986a6f3b9b7","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454600.2198339} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8eeba110-00d7-4722-854d-12b164060b7a","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454600.2200768} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ec9a9c0acca64ee1ff894fd5e37d9aac","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/10b8f9d8-9fa7-4ed1-ad9d-f3f7a587fc4a"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/e78e4c5f-16f9-4042-a93e-512dd55ad404"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/e201dc71-5ff7-40c6-9ee5-2e7e96f8c749"}}},"level":"info","message":"received a callback"} 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":"eb1a7f90-d01f-11ee-ad1d-cbf3af4d0136"},"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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"652d49d65e7b279180b97d12e8606aa0","responseTime":2,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/10b8f9d8-9fa7-4ed1-ad9d-f3f7a587fc4a"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/e78e4c5f-16f9-4042-a93e-512dd55ad404"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/e201dc71-5ff7-40c6-9ee5-2e7e96f8c749"}}},"level":"info","message":"received a callback"} device_1 | {"data":{"peerconnection":"e201dc71-5ff7-40c6-9ee5-2e7e96f8c749","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/e201dc71-5ff7-40c6-9ee5-2e7e96f8c749 204 314ms","method":"DELETE","requestID":"eb1a7f90-d01f-11ee-ad1d-cbf3af4d0136","responseTime":314,"status":204,"url":"/peerconnections/e201dc71-5ff7-40c6-9ee5-2e7e96f8c749"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/d94d2006-41f7-4018-91c8-8ad7e5e97650"},"level":"info","message":"Successfully finished experiment"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd94d2006-41f7-4018-91c8-8ad7e5e97650': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd94d2006-41f7-4018-91c8-8ad7e5e97650","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]},"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":null},"raw_response":{},"request_id":"7c66265b-7118-454e-99dd-0629c2c26281","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454600.7937477} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"12d30323-a3a9-4101-97d4-21ba759782de","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454600.7940886} authorization_1 | {"level":"info","message":"POST /relations/update 200 147ms","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":"caa21039439a301ad69e520964c133b9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":147}} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/d94d2006-41f7-4018-91c8-8ad7e5e97650"} gateway_1 | {"time_local":"20/Feb/2024:18:43:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/d94d2006-41f7-4018-91c8-8ad7e5e97650 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"1.398","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"caa21039439a301ad69e520964c133b9"} experiment_1 | {"level":"info","message":"DELETE /experiments/d94d2006-41f7-4018-91c8-8ad7e5e97650 204 1394ms","method":"DELETE","requestID":"caa21039439a301ad69e520964c133b9","responseTime":1394,"status":204,"url":"/experiments/d94d2006-41f7-4018-91c8-8ad7e5e97650"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1362ms","method":"POST","requestID":"ec9a9c0acca64ee1ff894fd5e37d9aac","responseTime":1362,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:43:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"1.364","http_referrer":"","http_user_agent":"node-fetch","requestID":"ec9a9c0acca64ee1ff894fd5e37d9aac"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1362ms","method":"POST","requestID":"652d49d65e7b279180b97d12e8606aa0","responseTime":1362,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:43:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"1.366","http_referrer":"","http_user_agent":"node-fetch","requestID":"652d49d65e7b279180b97d12e8606aa0"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDYwMX0.62OrCP-uWLlO8u0sZX4GUOMjVMWhgoEtdYc3LUnE4HQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"31a36bff2dd513f2f84aefad0c1e9500","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} gateway_1 | {"time_local":"20/Feb/2024:18:43:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1488","request_time":"3.767","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"9d87147a5976fb6678171d8bbd287068"} gateway_1 | {"time_local":"20/Feb/2024:18:43:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1756","request_time":"4.083","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"01630bd3a6d07f58f01c2c1d37c17c7e"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":570,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:21Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":570,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.937418,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:21Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454601,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDYwMX0.62OrCP-uWLlO8u0sZX4GUOMjVMWhgoEtdYc3LUnE4HQ"} authorization_1 | {"level":"info","message":"POST /authorize 200 10ms","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":"31a36bff2dd513f2f84aefad0c1e9500"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/10b8f9d8-9fa7-4ed1-ad9d-f3f7a587fc4a' closed"} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/e78e4c5f-16f9-4042-a93e-512dd55ad404' 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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e3f1f37-9d81-4d89-8e15-4e72424bf2ca","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"f0a78376-3ae0-4d03-8232-da1444385927","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454601.7504783} 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":"31a36bff2dd513f2f84aefad0c1e9500"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"38dd9951-e7fb-4caa-b462-47e91f13db31","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454601.7576196} authorization_1 | {"level":"info","message":"POST /relations/update 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"31a36bff2dd513f2f84aefad0c1e9500"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e3f1f37-9d81-4d89-8e15-4e72424bf2ca","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"26c7c39a-cfc7-4e56-b811-571ab7ff5b65","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454601.9150724} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6d4d71d0-2465-4d84-8143-a88d2a0e736c","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454601.915643} authorization_1 | {"level":"info","message":"POST /relations/update 200 161ms","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":"31a36bff2dd513f2f84aefad0c1e9500"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":161}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e3f1f37-9d81-4d89-8e15-4e72424bf2ca","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e3f1f37-9d81-4d89-8e15-4e72424bf2ca","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:43:21.915023747Z"}]},"request_id":"167a3046-0f09-4bf8-8c0a-5f26a1544d01","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454601.9219093} 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":"31a36bff2dd513f2f84aefad0c1e9500"},"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 337ms","method":"POST","requestID":"31a36bff2dd513f2f84aefad0c1e9500","responseTime":337,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"20/Feb/2024:18:43:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"315","request_time":"0.346","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"31a36bff2dd513f2f84aefad0c1e9500"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDYwMX0.62OrCP-uWLlO8u0sZX4GUOMjVMWhgoEtdYc3LUnE4HQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3c85886077c907fdd62e65460c735858","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":571,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:21Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":571,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.219153,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:21Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454601,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDYwMX0.62OrCP-uWLlO8u0sZX4GUOMjVMWhgoEtdYc3LUnE4HQ"} 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":"3c85886077c907fdd62e65460c735858"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0717ef3-c4c9-4eac-9259-26cde084627b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e7b5b681-f1b0-4db1-8ec4-0f5f94411400","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454602.1089954} 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":"3c85886077c907fdd62e65460c735858"},"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:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"be55b628-5b56-489d-9cbd-bbc876c55dac","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454602.1159892} 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":"3c85886077c907fdd62e65460c735858"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0717ef3-c4c9-4eac-9259-26cde084627b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"84abfc25-1d24-430b-bf35-f197c2a9808c","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454602.284286} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8407a7cd-241e-42a3-ae9b-010dd52ab815","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454602.2845616} authorization_1 | {"level":"info","message":"POST /relations/update 200 171ms","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":"3c85886077c907fdd62e65460c735858"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":171}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0717ef3-c4c9-4eac-9259-26cde084627b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0717ef3-c4c9-4eac-9259-26cde084627b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:43:22.284247599Z"}]},"request_id":"2a970dac-ed2d-475a-ab79-12edbeafcd46","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454602.290908} 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":"3c85886077c907fdd62e65460c735858"},"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 360ms","method":"POST","requestID":"3c85886077c907fdd62e65460c735858","responseTime":360,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"20/Feb/2024:18:43:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.383","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3c85886077c907fdd62e65460c735858"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"68e950e6d4d4245584652d0e98f8cc3e","responseTime":2,"status":200,"url":"/auth"} gateway_1 | {"time_local":"20/Feb/2024:18:43:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/b0717ef3-c4c9-4eac-9259-26cde084627b/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":"68e950e6d4d4245584652d0e98f8cc3e"} device_1 | {"level":"info","message":"OPTIONS /devices/b0717ef3-c4c9-4eac-9259-26cde084627b/websocket 200 1ms","method":"OPTIONS","requestID":"68e950e6d4d4245584652d0e98f8cc3e","responseTime":1,"status":200,"url":"/devices/b0717ef3-c4c9-4eac-9259-26cde084627b/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDYwNH0.jtpwLB4uO4OpXTl6nZsN5noaSAR0IM6__etmLIz27yU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d9184f495a8870fcd0f7ac87d705e23c","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":572,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:24Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":572,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.145675,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:24Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b0717ef3-c4c9-4eac-9259-26cde084627b","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/b0717ef3-c4c9-4eac-9259-26cde084627b","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454604,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDYwNH0.jtpwLB4uO4OpXTl6nZsN5noaSAR0IM6__etmLIz27yU"} 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":"d9184f495a8870fcd0f7ac87d705e23c"},"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/b0717ef3-c4c9-4eac-9259-26cde084627b/websocket 200 137ms","method":"POST","requestID":"d9184f495a8870fcd0f7ac87d705e23c","responseTime":137,"status":200,"url":"/devices/b0717ef3-c4c9-4eac-9259-26cde084627b/websocket"} gateway_1 | {"time_local":"20/Feb/2024:18:43:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b0717ef3-c4c9-4eac-9259-26cde084627b/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.140","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"d9184f495a8870fcd0f7ac87d705e23c"} device_1 | {"level":"info","message":"device 'http://localhost/devices/b0717ef3-c4c9-4eac-9259-26cde084627b' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDYwNH0.jtpwLB4uO4OpXTl6nZsN5noaSAR0IM6__etmLIz27yU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"40610ef7b447548c63cd3ec36de6cf1f","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":573,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:24Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":573,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.439817,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:24Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b0717ef3-c4c9-4eac-9259-26cde084627b","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/b0717ef3-c4c9-4eac-9259-26cde084627b","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454604,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDYwNH0.jtpwLB4uO4OpXTl6nZsN5noaSAR0IM6__etmLIz27yU"} 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":"40610ef7b447548c63cd3ec36de6cf1f"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0717ef3-c4c9-4eac-9259-26cde084627b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0717ef3-c4c9-4eac-9259-26cde084627b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:43:22.284247599Z"}]},"request_id":"13e54802-d092-4ceb-8838-a6faa7effd7d","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454604.5531626} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"40610ef7b447548c63cd3ec36de6cf1f"},"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/b0717ef3-c4c9-4eac-9259-26cde084627b? 200 15ms","method":"GET","requestID":"40610ef7b447548c63cd3ec36de6cf1f","responseTime":15,"status":200,"url":"/devices/b0717ef3-c4c9-4eac-9259-26cde084627b?"} gateway_1 | {"time_local":"20/Feb/2024:18:43:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b0717ef3-c4c9-4eac-9259-26cde084627b? 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":"40610ef7b447548c63cd3ec36de6cf1f"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDYwNH0.jtpwLB4uO4OpXTl6nZsN5noaSAR0IM6__etmLIz27yU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d7ab27712eac33dd6aeb9fd590112ade","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:48424","level":"info","msg":"Received request.","req_id":574,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:24Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":574,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.200115,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:24Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454604,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDYwNH0.jtpwLB4uO4OpXTl6nZsN5noaSAR0IM6__etmLIz27yU"} 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":"d7ab27712eac33dd6aeb9fd590112ade"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/66295f49-3e2a-4de9-afce-2660e347febf"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/66295f49-3e2a-4de9-afce-2660e347febf"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/66295f49-3e2a-4de9-afce-2660e347febf"},"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:48424","level":"info","msg":"Received request.","req_id":575,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:24Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":575,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.170844,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:24Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5e3f1f37-9d81-4d89-8e15-4e72424bf2ca","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/5e3f1f37-9d81-4d89-8e15-4e72424bf2ca","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454604,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDYwNH0.jtpwLB4uO4OpXTl6nZsN5noaSAR0IM6__etmLIz27yU"} 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":"edddbe40-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:38178","level":"info","msg":"Received request.","req_id":576,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:24Z"} authorization_1 | {"client_addr":"127.0.0.1:38178","level":"info","msg":"Sent response.","req_id":576,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.24776,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:24Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b0717ef3-c4c9-4eac-9259-26cde084627b","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/b0717ef3-c4c9-4eac-9259-26cde084627b","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454604,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDYwNH0.jtpwLB4uO4OpXTl6nZsN5noaSAR0IM6__etmLIz27yU"} 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":"edde0c60-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e3f1f37-9d81-4d89-8e15-4e72424bf2ca","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e3f1f37-9d81-4d89-8e15-4e72424bf2ca","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:43:21.915023747Z"}]},"request_id":"443c9231-0427-4c30-9418-eeba2e8cb513","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454604.8479366} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"edddbe40-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0717ef3-c4c9-4eac-9259-26cde084627b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0717ef3-c4c9-4eac-9259-26cde084627b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:43:22.284247599Z"}]},"request_id":"1e315d49-795c-4fb9-a4a1-4eea2c52688c","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454604.851573} 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":"edde0c60-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"GET /devices/5e3f1f37-9d81-4d89-8e15-4e72424bf2ca? 200 17ms","method":"GET","requestID":"edddbe40-d01f-11ee-ad1d-cbf3af4d0136","responseTime":17,"status":200,"url":"/devices/5e3f1f37-9d81-4d89-8e15-4e72424bf2ca?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/b0717ef3-c4c9-4eac-9259-26cde084627b? 200 18ms","method":"GET","requestID":"edde0c60-d01f-11ee-ad1d-cbf3af4d0136","responseTime":18,"status":200,"url":"/devices/b0717ef3-c4c9-4eac-9259-26cde084627b?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/66295f49-3e2a-4de9-afce-2660e347febf"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/66295f49-3e2a-4de9-afce-2660e347febf"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/66295f49-3e2a-4de9-afce-2660e347febf"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/66295f49-3e2a-4de9-afce-2660e347febf"},"level":"info","message":"Attempting to instantiate devices for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":577,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:24Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":577,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.183912,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:24Z"} authorization_1 | {"action":"instantiate","level":"info","message":"opa_check","object":"device:http://localhost/devices/5e3f1f37-9d81-4d89-8e15-4e72424bf2ca","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/5e3f1f37-9d81-4d89-8e15-4e72424bf2ca","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454604,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDYwNH0.jtpwLB4uO4OpXTl6nZsN5noaSAR0IM6__etmLIz27yU"} 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":"edf4c8b0-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e16db11-a14b-4411-a45b-6c9f133f0b74","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"7a60a067-cdb9-4251-a8c3-f3fe7b5b67ee","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454605.2891479} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a9bacc03-9e8f-4517-af20-d08deb248b93","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454605.289686} authorization_1 | {"level":"info","message":"POST /relations/update 200 146ms","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":"edf4c8b0-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":146}} device_1 | {"level":"info","message":"registering changed-callback for device 'http://localhost/devices/8e16db11-a14b-4411-a45b-6c9f133f0b74' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"postDevicesByDeviceId succeeded"} authentication_1 | {"level":"info","message":"POST /token 201 137ms","method":"POST","requestID":"ee24b250-d01f-11ee-bd78-b7cc02b37d6e","responseTime":137,"status":201,"url":"/token"} device_1 | {"level":"info","message":"POST /devices/5e3f1f37-9d81-4d89-8e15-4e72424bf2ca?changedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 457ms","method":"POST","requestID":"edf4c8b0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":457,"status":201,"url":"/devices/5e3f1f37-9d81-4d89-8e15-4e72424bf2ca?changedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/66295f49-3e2a-4de9-afce-2660e347febf"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/66295f49-3e2a-4de9-afce-2660e347febf"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/66295f49-3e2a-4de9-afce-2660e347febf"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/66295f49-3e2a-4de9-afce-2660e347febf"},"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/66295f49-3e2a-4de9-afce-2660e347febf"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":578,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:25Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":578,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.136425,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:25Z"} authorization_1 | {"client_addr":"127.0.0.1:38178","level":"info","msg":"Received request.","req_id":579,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:25Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8e16db11-a14b-4411-a45b-6c9f133f0b74","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/8e16db11-a14b-4411-a45b-6c9f133f0b74","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454604,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDYwNH0.jtpwLB4uO4OpXTl6nZsN5noaSAR0IM6__etmLIz27yU"} 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":"ee7606a0-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"client_addr":"127.0.0.1:38178","level":"info","msg":"Sent response.","req_id":579,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.484606,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:25Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b0717ef3-c4c9-4eac-9259-26cde084627b","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/b0717ef3-c4c9-4eac-9259-26cde084627b","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454604,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDYwNH0.jtpwLB4uO4OpXTl6nZsN5noaSAR0IM6__etmLIz27yU"} 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":"ee7654c0-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e16db11-a14b-4411-a45b-6c9f133f0b74","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e16db11-a14b-4411-a45b-6c9f133f0b74","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:43:25.289077421Z"}]},"request_id":"be7b2153-6fe0-4596-b256-1b8e28fe25e4","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454605.849297} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ee7606a0-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0717ef3-c4c9-4eac-9259-26cde084627b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0717ef3-c4c9-4eac-9259-26cde084627b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:43:22.284247599Z"}]},"request_id":"20b0e70c-ef5c-4913-8b5c-039678c15e2f","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454605.8504887} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ee7654c0-d01f-11ee-ad1d-cbf3af4d0136"},"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/8e16db11-a14b-4411-a45b-6c9f133f0b74? 200 21ms","method":"GET","requestID":"ee7606a0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":21,"status":200,"url":"/devices/8e16db11-a14b-4411-a45b-6c9f133f0b74?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/b0717ef3-c4c9-4eac-9259-26cde084627b? 200 20ms","method":"GET","requestID":"ee7654c0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":20,"status":200,"url":"/devices/b0717ef3-c4c9-4eac-9259-26cde084627b?"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F66295f49-3e2a-4de9-afce-2660e347febf#owner@http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F66295f49-3e2a-4de9-afce-2660e347febf","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"00747f7b-1580-428a-a0f6-4a10c7deece2","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454606.0113134} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ca07fe26-26bf-443c-9255-1b9a60d1ba3d","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454606.01279} authorization_1 | {"level":"info","message":"POST /relations/update 200 170ms","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":"d7ab27712eac33dd6aeb9fd590112ade"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":170}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/66295f49-3e2a-4de9-afce-2660e347febf","user":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 1459ms","method":"POST","requestID":"d7ab27712eac33dd6aeb9fd590112ade","responseTime":1459,"status":201,"url":"/experiments?"} gateway_1 | {"time_local":"20/Feb/2024:18:43:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1107","request_time":"1.479","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d7ab27712eac33dd6aeb9fd590112ade"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"8dc8dc2771735fad0664fb13ffd777f6","responseTime":1,"status":200,"url":"/auth"} gateway_1 | {"time_local":"20/Feb/2024:18:43:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/8e16db11-a14b-4411-a45b-6c9f133f0b74/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":"8dc8dc2771735fad0664fb13ffd777f6"} device_1 | {"level":"info","message":"OPTIONS /devices/8e16db11-a14b-4411-a45b-6c9f133f0b74/websocket 200 1ms","method":"OPTIONS","requestID":"8dc8dc2771735fad0664fb13ffd777f6","responseTime":1,"status":200,"url":"/devices/8e16db11-a14b-4411-a45b-6c9f133f0b74/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IjNkcG5NQXVoWHRsYncxLXFuNU5BUm9TdldLQzI0WUt6SGdDcGp5ekFYaTNqaWlEVEdEOGtGS1NzUDdfbFlhM2M2NjQ3VE9FcW9uSnBBYTlNRXgzZVlBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDYwN30.6jdRLPIk6-o7Vg747AP_NUKhWw8lCfIm4aB9T4WAlwg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b6aae930c6eec15da47e39f8967385a1","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":580,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:27Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":580,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.421662,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:27Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8e16db11-a14b-4411-a45b-6c9f133f0b74","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/8e16db11-a14b-4411-a45b-6c9f133f0b74","object_type":"device","payload":{"admin":true,"edgeToken":"3dpnMAuhXtlbw1-qn5NARoSvWKC24YKzHgCpjyzAXi3jiiDTGD8kFKSsP7_lYa3c6647TOEqonJpAa9MEx3eYA","iat":1708454607,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IjNkcG5NQXVoWHRsYncxLXFuNU5BUm9TdldLQzI0WUt6SGdDcGp5ekFYaTNqaWlEVEdEOGtGS1NzUDdfbFlhM2M2NjQ3VE9FcW9uSnBBYTlNRXgzZVlBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDYwN30.6jdRLPIk6-o7Vg747AP_NUKhWw8lCfIm4aB9T4WAlwg"} 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":"b6aae930c6eec15da47e39f8967385a1"},"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":"20/Feb/2024:18:43:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/8e16db11-a14b-4411-a45b-6c9f133f0b74/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.162","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"b6aae930c6eec15da47e39f8967385a1"} device_1 | {"level":"info","message":"POST /devices/8e16db11-a14b-4411-a45b-6c9f133f0b74/websocket 200 156ms","method":"POST","requestID":"b6aae930c6eec15da47e39f8967385a1","responseTime":156,"status":200,"url":"/devices/8e16db11-a14b-4411-a45b-6c9f133f0b74/websocket"} device_1 | {"level":"info","message":"Sending changed-callback for device 'http://localhost/devices/8e16db11-a14b-4411-a45b-6c9f133f0b74' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"device 'http://localhost/devices/8e16db11-a14b-4411-a45b-6c9f133f0b74' 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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"f68811a8d04f2448f47b3836733c64f0","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/8e16db11-a14b-4411-a45b-6c9f133f0b74"},"eventType":"device-changed"}},"level":"info","message":"received a callback"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDYwOH0.zYcPHXiWH2WaTCVtdfo_7KLC-2Xa0hS7whLXnrB50EA","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"ee92f4ec19aaf0edb621f6a40f029b34","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":581,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:28Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":581,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.721628,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:28Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8e16db11-a14b-4411-a45b-6c9f133f0b74","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/8e16db11-a14b-4411-a45b-6c9f133f0b74","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454608,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDYwOH0.zYcPHXiWH2WaTCVtdfo_7KLC-2Xa0hS7whLXnrB50EA"} 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":"ee92f4ec19aaf0edb621f6a40f029b34"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e16db11-a14b-4411-a45b-6c9f133f0b74","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e16db11-a14b-4411-a45b-6c9f133f0b74","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:43:25.289077421Z"}]},"request_id":"2ac1edab-7c9d-4d19-9fd3-18cb343d72a0","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454608.2786837} 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":"ee92f4ec19aaf0edb621f6a40f029b34"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 13ms","method":"POST","requestID":"f68811a8d04f2448f47b3836733c64f0","responseTime":13,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:43: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.018","http_referrer":"","http_user_agent":"node-fetch","requestID":"f68811a8d04f2448f47b3836733c64f0"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"20/Feb/2024:18:43:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8e16db11-a14b-4411-a45b-6c9f133f0b74? 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":"ee92f4ec19aaf0edb621f6a40f029b34"} device_1 | {"level":"info","message":"GET /devices/8e16db11-a14b-4411-a45b-6c9f133f0b74? 200 12ms","method":"GET","requestID":"ee92f4ec19aaf0edb621f6a40f029b34","responseTime":12,"status":200,"url":"/devices/8e16db11-a14b-4411-a45b-6c9f133f0b74?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDYwOH0.zYcPHXiWH2WaTCVtdfo_7KLC-2Xa0hS7whLXnrB50EA","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"baeefeadbef9522fe64bfba5b2194d15","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":582,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:28Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":582,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.027251,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:28Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b0717ef3-c4c9-4eac-9259-26cde084627b","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/b0717ef3-c4c9-4eac-9259-26cde084627b","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454608,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDYwOH0.zYcPHXiWH2WaTCVtdfo_7KLC-2Xa0hS7whLXnrB50EA"} 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":"baeefeadbef9522fe64bfba5b2194d15"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0717ef3-c4c9-4eac-9259-26cde084627b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0717ef3-c4c9-4eac-9259-26cde084627b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:43:22.284247599Z"}]},"request_id":"e02dbee3-9f64-41a9-8e0f-a99682be2ae1","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454608.2973285} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"baeefeadbef9522fe64bfba5b2194d15"},"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":"20/Feb/2024:18:43:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b0717ef3-c4c9-4eac-9259-26cde084627b? 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":"baeefeadbef9522fe64bfba5b2194d15"} device_1 | {"level":"info","message":"GET /devices/b0717ef3-c4c9-4eac-9259-26cde084627b? 200 13ms","method":"GET","requestID":"baeefeadbef9522fe64bfba5b2194d15","responseTime":13,"status":200,"url":"/devices/b0717ef3-c4c9-4eac-9259-26cde084627b?"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":583,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:30Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":583,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.302733,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:30Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8e16db11-a14b-4411-a45b-6c9f133f0b74","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/8e16db11-a14b-4411-a45b-6c9f133f0b74","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454604,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDYwNH0.jtpwLB4uO4OpXTl6nZsN5noaSAR0IM6__etmLIz27yU"} 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":"f174eec0-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:36404","level":"info","msg":"Received request.","req_id":584,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:30Z"} authorization_1 | {"client_addr":"127.0.0.1:36404","level":"info","msg":"Sent response.","req_id":584,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.309745,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:30Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b0717ef3-c4c9-4eac-9259-26cde084627b","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/b0717ef3-c4c9-4eac-9259-26cde084627b","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454604,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDYwNH0.jtpwLB4uO4OpXTl6nZsN5noaSAR0IM6__etmLIz27yU"} 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":"f17515d0-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e16db11-a14b-4411-a45b-6c9f133f0b74","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e16db11-a14b-4411-a45b-6c9f133f0b74","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:43:25.289077421Z"}]},"request_id":"42c487a4-8e19-43de-a81d-dba9e5af3efd","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454610.8756123} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f174eec0-d01f-11ee-ad1d-cbf3af4d0136"},"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:48978","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0717ef3-c4c9-4eac-9259-26cde084627b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0717ef3-c4c9-4eac-9259-26cde084627b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"timestamp":"2024-02-20T18:43:22.284247599Z"}]},"request_id":"ce941917-9312-43e8-be52-602a204ae249","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454610.8764157} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f17515d0-d01f-11ee-ad1d-cbf3af4d0136"},"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/8e16db11-a14b-4411-a45b-6c9f133f0b74? 200 21ms","method":"GET","requestID":"f174eec0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":21,"status":200,"url":"/devices/8e16db11-a14b-4411-a45b-6c9f133f0b74?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/b0717ef3-c4c9-4eac-9259-26cde084627b? 200 21ms","method":"GET","requestID":"f17515d0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":21,"status":200,"url":"/devices/b0717ef3-c4c9-4eac-9259-26cde084627b?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":585,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:30Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":585,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":1.14246,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:30Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/8e16db11-a14b-4411-a45b-6c9f133f0b74","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8e16db11-a14b-4411-a45b-6c9f133f0b74","object_type":"device","rebac_allow":false,"scope_allow":false,"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":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f1789840-d01f-11ee-ad1d-cbf3af4d0136"},"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/8e16db11-a14b-4411-a45b-6c9f133f0b74/signaling 200 8ms","method":"POST","requestID":"f1789840-d01f-11ee-ad1d-cbf3af4d0136","responseTime":8,"status":200,"url":"/devices/8e16db11-a14b-4411-a45b-6c9f133f0b74/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":586,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:30Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":586,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.89987,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:30Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/b0717ef3-c4c9-4eac-9259-26cde084627b","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b0717ef3-c4c9-4eac-9259-26cde084627b","object_type":"device","rebac_allow":false,"scope_allow":false,"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":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f17a1ee0-d01f-11ee-ad1d-cbf3af4d0136"},"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/b0717ef3-c4c9-4eac-9259-26cde084627b/signaling 200 8ms","method":"POST","requestID":"f17a1ee0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":8,"status":200,"url":"/devices/b0717ef3-c4c9-4eac-9259-26cde084627b/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/66295f49-3e2a-4de9-afce-2660e347febf"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/66295f49-3e2a-4de9-afce-2660e347febf"},"level":"info","message":"Building connection plan"} experiment_1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"a50b2b75-fc60-4465-9e48-009eefacf211"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"c4894126-77e0-451b-a20b-cbb9006ccff2"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"a4348d8f-11f9-4f85-b607-16ea47ba210a"}]},"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/8e16db11-a14b-4411-a45b-6c9f133f0b74"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/b0717ef3-c4c9-4eac-9259-26cde084627b"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":587,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:30Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":587,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.959265,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:30Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454604,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDYwNH0.jtpwLB4uO4OpXTl6nZsN5noaSAR0IM6__etmLIz27yU"} 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":"f17bcc90-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","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%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]}},"raw_response":{},"request_id":"ed96ce0a-cd90-45b2-8469-9df93da989dc","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454610.9196284} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7e066962-6559-4b31-8910-32d96a74b243","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454610.9200604} 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":"f17bcc90-d01f-11ee-ad1d-cbf3af4d0136"},"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/5d8fd198-3606-412e-9fe2-e582c8c1171e'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/5d8fd198-3606-412e-9fe2-e582c8c1171e'"} 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 183ms","method":"POST","requestID":"f17bcc90-d01f-11ee-ad1d-cbf3af4d0136","responseTime":183,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/5d8fd198-3606-412e-9fe2-e582c8c1171e' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"5d8fd198-3606-412e-9fe2-e582c8c1171e","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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"6900857762a312b05b8e40a6644f1620","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/8e16db11-a14b-4411-a45b-6c9f133f0b74"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/b0717ef3-c4c9-4eac-9259-26cde084627b"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/5d8fd198-3606-412e-9fe2-e582c8c1171e"}}},"level":"info","message":"received a callback"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/66295f49-3e2a-4de9-afce-2660e347febf"},"level":"info","message":"Successfully created peerconnections for experiment"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 154ms","method":"POST","requestID":"6900857762a312b05b8e40a6644f1620","responseTime":154,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:43: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.157","http_referrer":"","http_user_agent":"node-fetch","requestID":"6900857762a312b05b8e40a6644f1620"} device_1 | {"data":{"peerconnection":"5d8fd198-3606-412e-9fe2-e582c8c1171e","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDYxMX0.i5C5vR8NjGCFoux3Ey8EfWlm_qHXjccO_nqWmt1ZznM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9f777e99616b18b5d177ad0bf6c7083d","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/66295f49-3e2a-4de9-afce-2660e347febf"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":588,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:31Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":588,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.04936,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:31Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/66295f49-3e2a-4de9-afce-2660e347febf","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/66295f49-3e2a-4de9-afce-2660e347febf","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454611,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDYxMX0.i5C5vR8NjGCFoux3Ey8EfWlm_qHXjccO_nqWmt1ZznM"} 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":"9f777e99616b18b5d177ad0bf6c7083d"},"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/66295f49-3e2a-4de9-afce-2660e347febf"} gateway_1 | {"time_local":"20/Feb/2024:18:43:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/66295f49-3e2a-4de9-afce-2660e347febf HTTP/1.1","status": "200","body_bytes_sent":"1178","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9f777e99616b18b5d177ad0bf6c7083d"} experiment_1 | {"level":"info","message":"GET /experiments/66295f49-3e2a-4de9-afce-2660e347febf 200 15ms","method":"GET","requestID":"9f777e99616b18b5d177ad0bf6c7083d","responseTime":15,"status":200,"url":"/experiments/66295f49-3e2a-4de9-afce-2660e347febf"} device_1 | {"data":{"peerconnection":"5d8fd198-3606-412e-9fe2-e582c8c1171e","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDYxMX0.i5C5vR8NjGCFoux3Ey8EfWlm_qHXjccO_nqWmt1ZznM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"021c775e3e5f7466c549ac40169faa7f","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/66295f49-3e2a-4de9-afce-2660e347febf"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":589,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:31Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":589,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.10077,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:31Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/66295f49-3e2a-4de9-afce-2660e347febf","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/66295f49-3e2a-4de9-afce-2660e347febf","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454611,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDYxMX0.i5C5vR8NjGCFoux3Ey8EfWlm_qHXjccO_nqWmt1ZznM"} 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":"021c775e3e5f7466c549ac40169faa7f"},"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/66295f49-3e2a-4de9-afce-2660e347febf"} experiment_1 | {"level":"info","message":"GET /experiments/66295f49-3e2a-4de9-afce-2660e347febf 200 14ms","method":"GET","requestID":"021c775e3e5f7466c549ac40169faa7f","responseTime":14,"status":200,"url":"/experiments/66295f49-3e2a-4de9-afce-2660e347febf"} gateway_1 | {"time_local":"20/Feb/2024:18:43:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/66295f49-3e2a-4de9-afce-2660e347febf HTTP/1.1","status": "200","body_bytes_sent":"1178","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"021c775e3e5f7466c549ac40169faa7f"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/5d8fd198-3606-412e-9fe2-e582c8c1171e' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"5d8fd198-3606-412e-9fe2-e582c8c1171e","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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"86597607d480e83674943c3eb362716d","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/8e16db11-a14b-4411-a45b-6c9f133f0b74"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/b0717ef3-c4c9-4eac-9259-26cde084627b"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/5d8fd198-3606-412e-9fe2-e582c8c1171e"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":590,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:31Z"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","contextual_tuples":null,"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5d8fd198-3606-412e-9fe2-e582c8c1171e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"81d64254-a46d-4d13-b449-7dcb8c57ada6","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454611.7589424} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":590,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":4.922145,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:31Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/5d8fd198-3606-412e-9fe2-e582c8c1171e","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/5d8fd198-3606-412e-9fe2-e582c8c1171e","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f1fce370-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDYxMX0.i5C5vR8NjGCFoux3Ey8EfWlm_qHXjccO_nqWmt1ZznM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"8fb7545edfda07d86a04060075f738f4","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/66295f49-3e2a-4de9-afce-2660e347febf"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":591,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:31Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":591,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.289854,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:31Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/66295f49-3e2a-4de9-afce-2660e347febf","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/66295f49-3e2a-4de9-afce-2660e347febf","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454611,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDYxMX0.i5C5vR8NjGCFoux3Ey8EfWlm_qHXjccO_nqWmt1ZznM"} 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":"8fb7545edfda07d86a04060075f738f4"},"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/66295f49-3e2a-4de9-afce-2660e347febf"} gateway_1 | {"time_local":"20/Feb/2024:18:43:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/66295f49-3e2a-4de9-afce-2660e347febf HTTP/1.1","status": "200","body_bytes_sent":"1178","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8fb7545edfda07d86a04060075f738f4"} experiment_1 | {"level":"info","message":"GET /experiments/66295f49-3e2a-4de9-afce-2660e347febf 200 14ms","method":"GET","requestID":"8fb7545edfda07d86a04060075f738f4","responseTime":14,"status":200,"url":"/experiments/66295f49-3e2a-4de9-afce-2660e347febf"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"GET /peerconnections/5d8fd198-3606-412e-9fe2-e582c8c1171e 200 140ms","method":"GET","requestID":"f1fce370-d01f-11ee-ad1d-cbf3af4d0136","responseTime":140,"status":200,"url":"/peerconnections/5d8fd198-3606-412e-9fe2-e582c8c1171e"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDYxMX0.i5C5vR8NjGCFoux3Ey8EfWlm_qHXjccO_nqWmt1ZznM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"61cfb7bad0fefc5f36a71d2ea330b018","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/66295f49-3e2a-4de9-afce-2660e347febf"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":592,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:31Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":592,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.264007,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:31Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/66295f49-3e2a-4de9-afce-2660e347febf","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/66295f49-3e2a-4de9-afce-2660e347febf","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454611,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDYxMX0.i5C5vR8NjGCFoux3Ey8EfWlm_qHXjccO_nqWmt1ZznM"} 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":"61cfb7bad0fefc5f36a71d2ea330b018"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 289ms","method":"POST","requestID":"86597607d480e83674943c3eb362716d","responseTime":289,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:43: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.292","http_referrer":"","http_user_agent":"node-fetch","requestID":"86597607d480e83674943c3eb362716d"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/66295f49-3e2a-4de9-afce-2660e347febf"} gateway_1 | {"time_local":"20/Feb/2024:18:43:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/66295f49-3e2a-4de9-afce-2660e347febf HTTP/1.1","status": "200","body_bytes_sent":"1180","request_time":"0.089","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"61cfb7bad0fefc5f36a71d2ea330b018"} experiment_1 | {"level":"info","message":"GET /experiments/66295f49-3e2a-4de9-afce-2660e347febf 200 83ms","method":"GET","requestID":"61cfb7bad0fefc5f36a71d2ea330b018","responseTime":83,"status":200,"url":"/experiments/66295f49-3e2a-4de9-afce-2660e347febf"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDYxMn0.gZexOIOjX8sh3s9zn3p8Wrh2b5IU8JcrtwkFsB88SZ8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"27b106f285046fade039c3818961eda4","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/66295f49-3e2a-4de9-afce-2660e347febf"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":593,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:32Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":593,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.949871,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:32Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/66295f49-3e2a-4de9-afce-2660e347febf","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"experiment:http://localhost/experiments/66295f49-3e2a-4de9-afce-2660e347febf","object_type":"experiment","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454612,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDYxMn0.gZexOIOjX8sh3s9zn3p8Wrh2b5IU8JcrtwkFsB88SZ8"} 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":"27b106f285046fade039c3818961eda4"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/66295f49-3e2a-4de9-afce-2660e347febf"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":594,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:32Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":594,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.90361,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:32Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/5d8fd198-3606-412e-9fe2-e582c8c1171e","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"peerconnection:http://localhost/peerconnections/5d8fd198-3606-412e-9fe2-e582c8c1171e","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454612,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDYxMn0.gZexOIOjX8sh3s9zn3p8Wrh2b5IU8JcrtwkFsB88SZ8"} 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":"f22c09c0-d01f-11ee-ad1d-cbf3af4d0136"},"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/5d8fd198-3606-412e-9fe2-e582c8c1171e' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/5d8fd198-3606-412e-9fe2-e582c8c1171e' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"5d8fd198-3606-412e-9fe2-e582c8c1171e","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5d8fd198-3606-412e-9fe2-e582c8c1171e': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5d8fd198-3606-412e-9fe2-e582c8c1171e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]},"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":null},"raw_response":{},"request_id":"a8260c5e-29b9-4740-b1a9-2b02da4e321f","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454612.0777154} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"39ac8280-3416-47d8-98e9-56f3e71e7839","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454612.0778978} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization_1 | {"level":"info","message":"POST /relations/update 200 6ms","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":"f22c09c0-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3b7a02118cd29e7388fb3cd824c689fc","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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/8e16db11-a14b-4411-a45b-6c9f133f0b74"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/b0717ef3-c4c9-4eac-9259-26cde084627b"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/5d8fd198-3606-412e-9fe2-e582c8c1171e"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"27a12e9bddd9fa6e6536c771b331589e","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/8e16db11-a14b-4411-a45b-6c9f133f0b74"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/b0717ef3-c4c9-4eac-9259-26cde084627b"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/5d8fd198-3606-412e-9fe2-e582c8c1171e"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"DELETE /peerconnections/5d8fd198-3606-412e-9fe2-e582c8c1171e 204 158ms","method":"DELETE","requestID":"f22c09c0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":158,"status":204,"url":"/peerconnections/5d8fd198-3606-412e-9fe2-e582c8c1171e"} device_1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/8e16db11-a14b-4411-a45b-6c9f133f0b74'"} device_1 | {"level":"info","message":"deleteDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Received request.","req_id":595,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-20T18:43:32Z"} authorization_1 | {"client_addr":"127.0.0.1:48424","level":"info","msg":"Sent response.","req_id":595,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.106767,"resp_status":200,"subsystem":"opa","time":"2024-02-20T18:43:32Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"device:http://localhost/devices/8e16db11-a14b-4411-a45b-6c9f133f0b74","openfga":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","store":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","object":"device:http://localhost/devices/8e16db11-a14b-4411-a45b-6c9f133f0b74","object_type":"device","payload":{"admin":true,"edgeToken":"wNBswNFP-Dq3_uIHY48liE4FezWoUi0Ag7_xzCJvDUVoLgOEm1ZQmdh-NImgkto3nQerr2BG2jU5PDNQAvqg1Q","iat":1708454612,"sub":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e","subject_alt":"http://localhost/users/be4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2JlNGE5ZjNiLTlhZTMtNDdkYy1hNjgxLTZkZGU3ZjBkZmQzZSIsImVkZ2VUb2tlbiI6IndOQnN3TkZQLURxM191SUhZNDhsaUU0RmV6V29VaTBBZzdfeHpDSnZEVVZvTGdPRW0xWlFtZGgtTkltZ2t0bzNuUWVycjJCRzJqVTVQRE5RQXZxZzFRIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwODQ1NDYxMn0.gZexOIOjX8sh3s9zn3p8Wrh2b5IU8JcrtwkFsB88SZ8"} 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":"f24473c0-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e', relation: 'owner', object: 'device:http%3A%2F%2Flocalhost%2Fdevices%2F8e16db11-a14b-4411-a45b-6c9f133f0b74': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e16db11-a14b-4411-a45b-6c9f133f0b74","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]},"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":null},"raw_response":{},"request_id":"af746fd6-e7f1-4b58-95fa-7fe3f86d7bf5","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454612.2370145} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a66f9790-4f52-4705-8d93-33922f18aac4","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454612.2373476} 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":"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":"f24473c0-d01f-11ee-ad1d-cbf3af4d0136"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} device_1 | {"level":"info","message":"deleteDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"DELETE /devices/8e16db11-a14b-4411-a45b-6c9f133f0b74 204 174ms","method":"DELETE","requestID":"f24473c0-d01f-11ee-ad1d-cbf3af4d0136","responseTime":174,"status":204,"url":"/devices/8e16db11-a14b-4411-a45b-6c9f133f0b74"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/66295f49-3e2a-4de9-afce-2660e347febf"},"level":"info","message":"Successfully finished experiment"} authorization_1 | {"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F66295f49-3e2a-4de9-afce-2660e347febf': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"authorization_model_id":"01HQ3X22BY0D7KY0JHV6HX01S8","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F66295f49-3e2a-4de9-afce-2660e347febf","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fbe4a9f3b-9ae3-47dc-a681-6dde7f0dfd3e"}]},"store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","writes":null},"raw_response":{},"request_id":"2350d29a-1146-4afe-a231-65af21a5f60d","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454612.7053306} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:48978","raw_request":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E"},"raw_response":{"authorization_model":{"id":"01HQ3X22BY0D7KY0JHV6HX01S8","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"607d4ec1-1cb9-4fae-91c2-3edfb884d6a3","store_id":"01HQ3X22APRQ28T8X8Z2RSWX7E","subsystem":"openfga","timestamp":1708454612.7060878} authorization_1 | {"level":"info","message":"POST /relations/update 200 163ms","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":"27b106f285046fade039c3818961eda4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":163}} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/66295f49-3e2a-4de9-afce-2660e347febf"} gateway_1 | {"time_local":"20/Feb/2024:18:43:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/66295f49-3e2a-4de9-afce-2660e347febf HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"1.516","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"27b106f285046fade039c3818961eda4"} experiment_1 | {"level":"info","message":"DELETE /experiments/66295f49-3e2a-4de9-afce-2660e347febf 204 1512ms","method":"DELETE","requestID":"27b106f285046fade039c3818961eda4","responseTime":1512,"status":204,"url":"/experiments/66295f49-3e2a-4de9-afce-2660e347febf"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1483ms","method":"POST","requestID":"3b7a02118cd29e7388fb3cd824c689fc","responseTime":1483,"status":200,"url":"/callbacks/experiment"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1483ms","method":"POST","requestID":"27a12e9bddd9fa6e6536c771b331589e","responseTime":1483,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:43:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"1.487","http_referrer":"","http_user_agent":"node-fetch","requestID":"27a12e9bddd9fa6e6536c771b331589e"} gateway_1 | {"time_local":"20/Feb/2024:18:43:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"1.489","http_referrer":"","http_user_agent":"node-fetch","requestID":"3b7a02118cd29e7388fb3cd824c689fc"} gateway_1 | {"time_local":"20/Feb/2024:18:43:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1758","request_time":"5.453","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"f283891cc4c65d272aa34754ae4a25c3"} gateway_1 | {"time_local":"20/Feb/2024:18:43:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1488","request_time":"9.185","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"43e21f6991d1d58fd437fa265b1186c1"} device_1 | {"level":"info","message":"Sending changed-callback for device 'http://localhost/devices/8e16db11-a14b-4411-a45b-6c9f133f0b74' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/8e16db11-a14b-4411-a45b-6c9f133f0b74' 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:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"b818a4be6f2bcf842d285d3964d83ff0","responseTime":2,"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/8e16db11-a14b-4411-a45b-6c9f133f0b74"},"eventType":"device-changed"}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 410 4ms","method":"POST","requestID":"b818a4be6f2bcf842d285d3964d83ff0","responseTime":4,"status":410,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"20/Feb/2024:18:43:33 +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.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"b818a4be6f2bcf842d285d3964d83ff0"} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/b0717ef3-c4c9-4eac-9259-26cde084627b' closed"} integration-test_gateway_1 exited with code 0 integration-test_authentication_1 exited with code 143 integration-test_authorization_1 exited with code 0 integration-test_federation_1 exited with code 143 integration-test_experiment_1 exited with code 143 integration-test_device_1 exited with code 143